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.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage