Je dois inventorier la RAM des ordinateurs répertoriés dans un fichier texte. J'ai ce script:Comment puis-je utiliser PowerShell pour obtenir les détails RAM/mémoire de plusieurs ordinateurs?
$($servers = Get-Content D:\123.txt
Foreach ($s in $servers) {
$s
get-wmiobject Win32_Processor -ComputerName $s -ErrorAction SilentlyContinue| select Name | Format-List
Get-WmiObject win32_baseboard -ComputerName $s -ErrorAction SilentlyContinue| Select product | Format-List
$colRAM = Get-WmiObject -Class "win32_PhysicalMemory" -namespace "root\CIMV2" -computerName $s
$colRAM | ForEach {
“Memory Installed: ” + $_.DeviceLocator
“Memory Size: ” + ($_.Capacity/1GB) + ” GB”
$SlotsFilled = $SlotsFilled + 1
$TotMemPopulated = $TotMemPopulated + ($_.Capacity/1GB)
}
Write-Host "_____________________________________ "
}) *>&1 > output.txt
qui renvoie ce résultat:
ordinateur1
Nom: Intel (R) Core (TM) 2 Duo CPU E8500 @ 3.16GHz
produit : DG31PR
Mémoire installée: J6H2 Taille de la mémoire: 1 Go
Je voudrais que le résultat soit comme celui-ci et exporté au format CSV:
Name TotalRam Type Motherboard
comp1 2gb ddr3 h81m-k
comp2 2gb ddr3 h81m-k
2gb
comp3 1gb ddr2 DG31PR
0,5gb
fonctionne très bien! mais pouvons-nous définir la quantité de bélier, par exemple 2x1gb? – Damir
Vous pourriez ajouter ceci à $ props: 'NumberOfDimms = $ colRAM.Count' qui vous donnerait le nombre de dimms, mais il ne vous dira pas la taille exacte de ceux-ci. Pour être sûr de cela (car ils pourraient être incompatibles), vous devez enregistrer la taille de chaque dimm individuellement. –
merci! fonctionne très bien! – Damir