2013-11-01 5 views
1

Попытка экспортировать данные из списка серверов, чтобы преуспеть, включая дисковое пространство и свободное пространство, я также хотел бы добавить% (Percentfree) влево, но я очень новичок в powershell и имею проблемы с получением синтаксис правильный.Powershell Disk Space Check

$ServerList = "######" 


$Excel = New-Object -Com Excel.Application 
$Excel.visible = $True 
$Excel = $Excel.Workbooks.Add() 

$Sheet = $Excel.WorkSheets.Item(1) 
$Sheet.Cells.Item(1,1) = “Computer” 
$Sheet.Cells.Item(1,2) = “Drive Letter” 
$Sheet.Cells.Item(1,3) = “Description” 
$Sheet.Cells.Item(1,4) = “File System” 
$Sheet.Cells.Item(1,5) = “Size in GB” 
$Sheet.Cells.Item(1,6) = “Free Space in GB” 
$Sheet.Cells.Item(1,7) = “Percent Free GB” 

$WorkBook = $Sheet.UsedRange 
$WorkBook.Interior.ColorIndex = 8 
$WorkBook.Font.ColorIndex = 11 
$WorkBook.Font.Bold = $True 

$intRow = 2 
$colItems = Get-wmiObject Win32_LogicalDisk -computername $ServerList 

foreach ($objItem in $colItems) { 
$Sheet.Cells.Item($intRow,1) = $objItem.SystemName 
$Sheet.Cells.Item($intRow,2) = $objItem.DeviceID 
$Sheet.Cells.Item($intRow,3) = $ojbItem.Description 
$Sheet.Cells.Item($intRow,4) = $objItem.FileSystem 
$Sheet.Cells.Item($intRow,5) = $objItem.Size/1GB 
$Sheet.Cells.Item($intRow,6) = $objItem.FreeSpace/1GB 


$intRow = $intRow + 1 

} 
$WorkBook.EntireColumn.AutoFit() 
Clear 

ответ

1

Если вы правильно поняли, вы пытаетесь построить выражение, которое вычисляет процент бесплатно.

Попробуйте это:

$Sheet.Cells.Item($intRow,7) = [MATH]::Round(($objItem.FreeSpace/1gb)/($objItem.Size/1gb),4) * 100 
+0

Спасибо вам просто нужно привыкнуть к синтаксису! Еще раз спасибо! – Richard