使用 powershell 在不同驱动器盘符上的多个服务器上获得免费 space%
Getting free space percent on multiple servers on different drive letters with powershell
我有一些服务器需要使用 powershell 监控免费 space 百分比。
对于一台服务器的一个驱动器是这样的:
$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")
当然,我可以继续重复代码并创建一个大脚本,但我 "feel" 100% 错了。
那么我将如何拥有 n 个我想检查免费 space 并且每个服务器在不同驱动器中的服务器?
使用Get-WMIObject
轮询服务器以获取磁盘信息。
get-wmiobject win32_logicaldisk -filter "DriveType=3" -computername server1,server2|select-object -property systemname, deviceid, size, freespace, volumename
我写了一个脚本来做到这一点。本质上我使用了一个嵌套循环:
Foreach ($server in $serverlist) {
$Disks = get-wmiobject Win32_LogicalDisk -computername $Server -Filter “DriveType = 3”
Foreach ($Disk in $Disks) {
Write-Output $server " = " $Disk.Freespace
}
}
我有一些服务器需要使用 powershell 监控免费 space 百分比。
对于一台服务器的一个驱动器是这样的:
$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")
当然,我可以继续重复代码并创建一个大脚本,但我 "feel" 100% 错了。
那么我将如何拥有 n 个我想检查免费 space 并且每个服务器在不同驱动器中的服务器?
使用Get-WMIObject
轮询服务器以获取磁盘信息。
get-wmiobject win32_logicaldisk -filter "DriveType=3" -computername server1,server2|select-object -property systemname, deviceid, size, freespace, volumename
我写了一个脚本来做到这一点。本质上我使用了一个嵌套循环:
Foreach ($server in $serverlist) {
$Disks = get-wmiobject Win32_LogicalDisk -computername $Server -Filter “DriveType = 3”
Foreach ($Disk in $Disks) {
Write-Output $server " = " $Disk.Freespace
}
}