|
Powershell Script zum Auslesen der Festplattenkapazität
Hallo zusammen,
ich hatte die Tage das unten stehende Script gefunden und wollte das gerade eben auf meinem (deutschen) Test-Server (mit deutschem Excel) ausführen.
Allerdings bekomme ich folgenden Fehler bzw. noch viel mehr:
Exception calling “Add” with “0″ argument(s): “Altes Format oder ungültige
Typbibliothek. (Ausnahme von HRESULT: 0×80028018 (TYPE_E_INVDATAREAD))”
Kann es daher sein, dass das Script nur mit einem englischen PC bzw. Office funktioniert? Bzw. kann mir jemand helfen das PS1 Script auch auf einem deutschen System zu laufen zu bringen?
viele Grüße,
Fjoerdman
$servers = Get-Content servers.txt
#Open Excel and create a new workbook and worksheet
$ExcelSheet=New-Object -comobject Excel.application
$WorkBook=$ExcelSheet.WorkBooks.add(1)
$WorkSheet=$WorkBook.WorkSheets.item(1)
#Header row
$WorkSheet.cells.item(1,1)=”Computer Name”
$WorkSheet.cells.item(1,2)=”Disk Device ID”
$WorkSheet.cells.item(1,3)=”Volume Name”
$WorkSheet.cells.item(1,4)=”Size (GB)”
$WorkSheet.cells.item(1,5)=”Free Space (GB)”
$WorkSheet.cells.item(1,6)=”Space Used (GB)”
$WorkSheet.cells.item(1,7)=”Percent Used”
$i=2
ForEach ($ComputerName in $servers)
{
echo "Server Name : ", $ComputerName
$Disks = gwmi –computername $ComputerName win32_logicaldisk -filter "drivetype=3"
foreach ($Disk in $Disks)
{
$Size = "{0:0.0}" -f ($Disk.Size/1GB)
$FreeSpace = "{0:0.0}" -f ($Disk.FreeSpace/1GB)
$Used = ([int64]$Disk.size – [int64]$Disk.freespace)
$SpaceUsed = "{0:0.0}" -f ($Used/1GB)
$Percent = ($Used * 100.0)/$Disk.Size
$Percent = "{0:N0}" -f $Percent
$WorkSheet.cells.item($i,1)=$ComputerName
$WorkSheet.cells.item($i,2)=$Disk.deviceid
$WorkSheet.cells.item($i,3)=$Disk.volumename
$WorkSheet.cells.item($i,4)=$Size
$WorkSheet.cells.item($i,5)=$FreeSpace
$WorkSheet.cells.item($i,6)=$SpaceUsed
$WorkSheet.cells.item($i,7)=$Percent
$i=$i+1
}
}
#Show the results
$ExcelSheet.visible=$true
|