通过WMI

时间:2016-11-02 22:26:16

标签: powershell wmi powershell-remoting wmi-query

我已经有一个脚本运行了一年的好半,现在检查磁盘空间,如果它低,它发送的电子邮件工作正常。

今天我收到一条警告说磁盘空间为0gb ..我登录服务器并且有大约30gbs可用。

检查空间的部分代码。

[decimal]$thresholdspace = 5
$tableFragment= Get-WMIObject  -ComputerName $computer Win32_LogicalDisk `
| select __SERVER, DriveType, VolumeName, Name, @{n='Size (Gb)' ;e={"{0:n2}" -f ($_.size/1gb)}},@{n='FreeSpace (Gb)';e={"{0:n2}" -f ($_.freespace/1gb)}}, @{n='PercentFree';e={"{0:n2}" -f ($_.freespace/$_.size*100)}} `
| Where-Object {$_.DriveType -eq 3 -and [decimal]$_.PercentFree -lt [decimal]$thresholdspace} 

所以我打开了一个ISE会话并执行了以下操作。

$computer = 'Server_01'

Get-WMIObject  -ComputerName $computer Win32_LogicalDisk | select __SERVER, DriveType, VolumeName, Name,FreeSpace

并回复:

__SERVER   : Server_01
DriveType  : 2
VolumeName : 
Name       : A:
FreeSpace  : 

__SERVER   : Server_01
DriveType  : 3
VolumeName : 
Name       : C:
FreeSpace  : 31372767232

__SERVER   : Server_01
DriveType  : 5
VolumeName : 
Name       : E:
FreeSpace  : 

然后我运行了我的代码中获取空间的部分,并返回以下内容:

__SERVER       : Server_01
DriveType      : 3
VolumeName     : 
Name           : C:
Size (Gb)      : 0.00
FreeSpace (Gb) : 0.00
PercentFree    :

所以我运行了简单的WMI查询,它没有数据响应..

__SERVER   : Server_01
DriveType  : 2
VolumeName : 
Name       : A:
FreeSpace  : 

__SERVER   : Server_01
DriveType  : 3
VolumeName : 
Name       : C:
FreeSpace  : 

__SERVER   : Server_01
DriveType  : 5
VolumeName : 
Name       : E:
FreeSpace  : 

知道为什么我会收到无效或者看似不完整的数据?我从来没有见过这样的事情,也没有遇到过这个问题。它运行的任一服务器上都没有任何变化。

0 个答案:

没有答案