is there a way to know if installed memory is Registered DIMM or Unregistered DIMM ? the win32_physicalMemory doesn\'t seem to provide this info ?
you can find more
The first idea is using WMI Win32_PhysicalMemory
and test if TotalWidth (bit count including check bits) is greater than DataWidth (bit count excluding check bits).
gwmi Win32_PhysicalMemory | select totalwidth, datawidth, banklabel |
% {
if ( $_.totalwidth > $_.datawidth )
{
"$($_.banklabel) is ECC memory type"
}
else
{
"$($_.banklabel) is non-ECC Memory Type"
}
}
I don't know if exist a best way, and this check if memory is ECC or not.
try this for checking buffered/registered or not memory type:
$a = Get-WMIObject -Class "Win32_PhysicalMemoryArray"
Switch ($a.MemoryErrorCorrection) {
0 {Write-Host "ECC Type....: Reserved"}
1 {Write-Host "ECC Type....: Other"}
2 {Write-Host "ECC Type....: Unknown"}
3 {Write-Host "ECC Type....: None"}
4 {Write-Host "ECC Type....: Parity"}
5 {Write-Host "ECC Type....: Single-bit ECC"} #unbuffered
6 {Write-Host "ECC Type....: Multi-bit ECC"} #registed
7 {Write-Host "ECC Type....: CRC"}
}