Mit der Windows PowerShell lässt sich nicht nur die Gesamtgröße des RAM auslesen, Du kannst Dir auch die Anzahl der freien RAM Steckplätze anzeigen lassen. Das kann sehr hilfreich sein, wenn Du den Arbeitsspeicher erweitern möchtest, aber nicht weißt wie viele Slots noch für neue RAM Module frei sind.
Arbeitsspeicher und RAM Module auslesen
Eine aktuelle Dokumentation ist das wichtigste für jede IT-Abteilung. Aber auch die Dokumentation hat Ihre Grenzen und – Hand auf´s Herz – wer weiß denn schon zu jeder Zeit, wie viele RAM Module in welchem Server stecken?
Bei einer anstehenden Aufrüstung ist diese Frage aber sehr wichtig. Und daher würde ich jedem raten, sich die aktuelle Konfiguration genau anzuschauen. Das kannst Du entweder direkt am Server machen (Blech auf und Module zählen) oder ganz bequem mit der Windows PowerShell.
Da ich im folgenden Skript eine WMI Klasse abfrage, wäre das Ganze natürlich auch über ein Batch-Skript machbar. Mit der PowerShell funktioniert das Auslesen der RAM Module und der freien Steckplätze aber sehr viel einfacher.
Mit PowerShell Skript freie RAM Steckplätze anzeigen
$PysicalMemory = Get-WmiObject -class "win32_physicalmemory" -namespace "root\CIMV2"
$InstalledMemory = $((($PysicalMemory).Capacity | Measure-Object -Sum).Sum/1GB)
$TotalSlots = ((Get-WmiObject -Class "win32_PhysicalMemoryArray" -namespace "root\CIMV2").MemoryDevices | Measure-Object -Sum).Sum
$UsedSlots = (($PysicalMemory) | Measure-Object).Count
Write-Host "Vorhandene RAM-Module:" -ForegroundColor Red
$PysicalMemory | Format-Table Tag,BankLabel,@{n="Capacity(GB)"; e={$_.Capacity/1GB}},Speed,Manufacturer,PartNumber,Serialnumber -AutoSize
Write-Host "Insgesamt sind " -ForegroundColor White -NoNewLine
Write-Host "$InstalledMemory GB " -ForegroundColor Red -NoNewLine
Write-Host "vorhanden. Es werden " -ForegroundColor White -NoNewLine
Write-Host "$UsedSlots" -ForegroundColor Red -NoNewLine
Write-Host " von " -ForegroundColor White -NoNewLine
Write-Host "$TotalSlots" -ForegroundColor Red -NoNewLine
Write-Host " RAM-Slots verwendet." -ForegroundColor White
Was zunächst kompliziert aussieht, ist eigentlich ein sehr simples Skript. In der ersten Zeile speichern wir die Informationen aus der WMI Abfrage in eine Variable ($PhysicalMemory). In den Zeilen 2-4 suchen wir uns die Informationen (Gesamtmenge, Gesamt-Steckplätze und benutze Steckplätze) aus dieser Variable heraus und speichern diese ebenfalls in entsprechenden Variablen. Alles andere ist nur noch die Ausgabe der Ergebnisse.
Besonders interessant finde ich auch die Möglichkeit, sich die Seriennummern und Teilenummern der RAM-Module anzeigen zu lassen. Das kann bei dem Defekt eines Moduls hilfreich sein, wenn geprüft werden muss, welcher DIMM ausgefallen ist.
Ebenfalls interessant:
Dieser Artikel ist wie alle anderen auf dieser Seite kostenlos für Dich und ich hoffe, ich konnte Dir weiterhelfen. Wer möchte, kann diesem Blog eine kleine Aufmerksamkeit in Form einer kleinen Spende (PayPal) oder über die Amazon Wunschliste zukommen lassen.
Sehr guter Artikel habe ich gerade erst wieder gebraucht, eventuell könntest du das Script noch um die Funktion bzw. Abfrage erweitern und checken ob ECC ordnungsgemäß funktioniert falls vorhanden. (wmic memphysical get memoryerrorcorrection)
Super Artikel und ein guter Tipp. Bin nämlich aktuell mit dieser Frage konfrontiert.
Perfekt. Danke