Liste physischen Speicherplatz
Ich habe ungefähr 200 Server und muss die Details zu Festplattenspeicher und logischem Laufwerkspeicher (freier Speicherplatz, belegter Speicherplatz und Gesamtspeicherplatz) abrufen.
Hier ist meine PowerShell-Abfrage.
$infoObjects = New-Object PSObject
foreach ($machine in $servers) {
$counts = Get-WmiObject -Query "SELECT * FROM Win32_DiskDrive" -ComputerName $machine
$total_disk = @($counts).Count
$i = 0
$total_disk = $total_disk -1
for (; $i -le $total_disk; $i++) {
$a = $i
$a = Get-WmiObject -Query "SELECT * FROM Win32_DiskDrive WHERE DeviceID='\\\\.\\PHYSICALDRIVE$i'" -ComputerName $machine
$b = $i
$b = [math]::round($a.size /1GB)
Add-Member -InputObject $infoObject -MemberType NoteProperty -Name "Physical_Disk $i" -Value $b
}
$infoObject | Export-Csv -Path Inventory.csv -Append -Force -NoTypeInformation
}
Es gibt mir die gewünschte Ausgabe, aber wenn einige Server mehr als eine Festplatte oder mehr logische Laufwerke haben als die Ausgabe, bleibt die Anzahl der Laufwerke des ersten Servers hängen. Ich erhalte keine Ausgabe in der CSV-Datei der übrigen Laufwerke anderer Server.
Hier ist das Beispiel für das, was ich sage.
ServerName Physical_Disk 0 Physical_Disk 1 Physical_Disk 2 Physical_Disk 3 Server1 100 20 40 Server2 85 Server3 60 450 200 420 Server4 60 Server5 60 Server10 55 20 40
Wenn es scheint, kann ich das Problem nicht erklären. Lass mich es nochmal versuchen
Der erste Server verfügt über 2 physische Laufwerke, die in meiner Ausgabedatei (CSV) enthalten sind.er zweite Server verfügt auch über 2 physische Laufwerke, die sich ebenfalls in der CSV-Datei befindeAber der dritte Server verfügt über mehr als 2 Laufwerke und nur 2 Laufwerke werden in der Ausgabe angezeigt.