Hallo,
ich möchte von die Festplattenbelegung von unseren Servern auslesen.
Mein Skript liest die Festplatten aus und befüllt eine Excelliste.
Leider habe ich noch nicht rausgefunden wie ich alle Festplatten von einem Host in einer Zeile bekomme.
Das Skript schreibt jede Festplatte unter ein ander.
Habt ihr eine Lösung?
Hier das Skript
$a = New-Object -comobject Excel.Application
$a.Visible = $True
$b = $a.Workbooks.Add()
$c = $b.Worksheets.Item(1)
$c.Cells.Item(1,1).value2 = “Hostname”
$c.Cells.Item(1,2).value2 = “Partition”
$c.Cells.Item(1,3).value2 = “Volume”
$c.Cells.Item(1,4).value2 = “Grösse (GB)”
$c.Cells.Item(1,5).value2 = “Frei (GB)”
$c.Cells.Item(1,6).value2 = “Partition”
$c.Cells.Item(1,7).value2 = “Volume”
$c.Cells.Item(1,8).value2 = “Grösse (GB)”
$c.Cells.Item(1,9).value2 = “Frei (GB)”
$c.Cells.Item(1,10).value2 = “Partition”
$c.Cells.Item(1,11).value2 = “Volume”
$c.Cells.Item(1,12).value2 = “Grösse (GB)”
$c.Cells.Item(1,13).value2 = “Frei (GB)”
$b.SaveAs(“C:\temp\Test.xls”)
$i = 2
Get-WMIObject Win32_LogicalDisk -filter “DriveType=3″ -computer localhost | Select SystemName,DeviceID,VolumeName,@{Name=”size(GB)”;Expression={“{0:N1}” -f($_.size/1gb)}},@{Name=”freespace(GB)”;Expression={“{0:N1}”
-f($_.freespace/1gb)}} | foreach {
$c.Cells.Item($i,1).value2=”{0}” -f $_.SystemName
$c.Cells.Item($i,2).value2=”{0}” -f $_.DeviceID
$c.Cells.Item($i,3).value2=”{0}” -f $_.VolumeName
$c.Cells.Item($i,4).value2=”{0}” -f $_.”size(GB)”
$c.Cells.Item($i,5).value2=”{0}” -f $_.”freespace(GB)”
Danke und Gruss
Jean