Powershell磁盘空间检查

时间:2013-11-01 15:39:22

标签: powershell powershell-v2.0

尝试将服务器列表中的详细信息导出到excel,包括磁盘空间和可用空间我还想添加%(Percentfree),但我对powershell很新,并且无法正确获取语法。

$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 个答案:

答案 0 :(得分:1)

如果我理解正确,那么您正在尝试构建计算免费百分比的表达式。

试试这个:

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