Vielen Dank für die antworten.
Bin seit Stunden wieder am probieren, soweit klappt auch alles was ich haben möchte.
$colSlots = Get-WmiObject -Class win32_PhysicalMemoryArray
$colRAM = Get-WmiObject -Class win32_PhysicalMemory
$memory = Get-WmiObject -Class win32_PhysicalMemory
$name = HOSTNAME.EXE
$mem = Get-WmiObject -Class Win32_ComputerSystem
("Computer " + $mem.DnsHostName + " Ram " + $mem.TotalPhysicalMemory/1mb) | Out-File PFAD
$colSlots | ForEach {“Total Number of DIMM Slots: ” + $_.MemoryDevices} | Out-File PFAD -append
$colRAM | ForEach {
“Memory Installed: ” + $_.DeviceLocator| PFAD -append
"Memory Size: " + ($objRAM.Capacity / 1GB) + " GB" | PFAD -append
}
Es wird eine Exel Datei im angegebenen Pfad erstellt.
Computername ****** Ram 8191.1796875
Total Number of DIMM Slots: 4
Memory Installed: DIMM1
Memory Size: 4 GB
Memory Installed: DIMM2
Memory Size: 4 GB
Was ich noch nicht ganz verstehe ist Dimm Slots. Bei einigen PC's sind nur 2 Ram-Slots vorhanden, allerdings wird auch dort DIMM Slots: 4 ausgegeben.
Die win32_PhysicalMemory und win32_PhysicalMemoryAray können anscheinend nur Slots anzeigen die belegt sind - leere werden nicht mit ausgegeben (schade!!!).
Die Excel.Application scheint mir sehr komplex zu sein, damit alle PCs ein einem Excel Sheet schreiben.
Ich lasse alle Computer die Datei über das Active Directory als Anmeldescript ausführen, brauche also kein Remote.