【发布时间】:2015-09-03 18:35:41
【问题描述】:
我正在尝试获取多台计算机上物理驱动器的大小。有些计算机有 1 个物理驱动器,有些计算机有 1 个以上。 我试过这个脚本,如果我在一台机器上本地运行它,它工作正常。
$s = "machine name"
$counts = GET-WMIOBJECT –query "SELECT * FROM Win32_DiskDrive" -ComputerName $s
$total_disk = $counts.count
$i = 0
$total_disk = $total_disk -1
$infoObjecta = New-Object PSObject
for(; $i -le $total_disk; $i++){
$a = $i
$a = GET-WMIOBJECT –query "SELECT * FROM Win32_DiskDrive WHERE DeviceID='\\\\.\\PHYSICALDRIVE$i'" -ComputerName $s
$b = $i
$b = [math]::round($a.size /1GB)
Add-Member -inputObject $infoObjecta -memberType NoteProperty -name "Physical_Disk $i" -value $b
}
操作系统版本为 Win Server 2003、2008 和 2012。
我不确定我做错了什么。
如果我在该机器上本地运行此脚本或给机器名称是$s 变量,那么它工作正常。
但是如果我将远程机器名称放在$s 中,那么它不会给我输出。
我调试发现$counts.count没有返回任何值。
请告诉我如何解决此问题或任何其他方法来获取硬盘驱动器数量和大小的详细信息。
【问题讨论】:
标签: powershell wmi