问题
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 info about udimm rdimm here
EDIT : the solution provided by @C.B doesnt work either
回答1:
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"}
}
回答2:
as I didn't find any simple solution, i think I will do it by scraping the dell support site (providing the server ServiceTag on this url) : http://support.euro.dell.com/support/DPP/Index.aspx?c=fr&cs=RC1077983&l=fr&s=pad&ServiceTag=XXXXXX
来源:https://stackoverflow.com/questions/14882767/how-to-retrieve-memory-type-rdimm-or-udimm