使用PowerShell在不同驱动器号上的多个服务器上获得可用空间百分比

时间:2015-01-14 15:40:23

标签: powershell wmi

我有一些服务器,我需要使用powershell监控可用空间百分比。

对于一个服务器的一个驱动器,它就像:

$size = ([wmi]"\\appsrv02\root\cimv2:Win32_logicalDisk.DeviceID='c:'").Size
$free = ([wmi]"\\appsrv02\root\cimv2:Win32_logicalDisk.DeviceID='c:'").FreeSpace
Write-Output ($free/$size).ToString("P0")

当然,我可以去重复代码并创建一个大脚本,但我“感觉”它错了100%。

那么我将如何使用n个服务器来检查每个服务器的可用空间和不同的驱动器?

2 个答案:

答案 0 :(得分:1)

使用Get-WMIObject轮询服务器以获取磁盘信息。

get-wmiobject win32_logicaldisk -filter "DriveType=3" -computername server1,server2|select-object -property systemname, deviceid, size, freespace, volumename

答案 1 :(得分:0)

我写了一个脚本来做到这一点。基本上我使用了嵌套循环:

Foreach ($server in $serverlist) {

    $Disks = get-wmiobject Win32_LogicalDisk -computername $Server -Filter “DriveType = 3”

    Foreach ($Disk in $Disks) {

    Write-Output $server " = " $Disk.Freespace
    }
}