【问题标题】:Powershell: Get physical drive count and sizePowershell:获取物理驱动器数量和大小
【发布时间】: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


    【解决方案1】:

    在某些版本的 Powershell 中,如果变量为 1 或 0,它不会返回任何内容。检查@($counts).count 是否返回值。

    【讨论】:

    • 感谢您的回答。我正在努力。
    • 它在我的测试机器上工作。现在我正在尝试在远程机器上运行它。
    猜你喜欢
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    • 2017-02-13
    • 2016-10-02
    • 1970-01-01
    • 2012-05-24
    • 2021-06-19
    • 1970-01-01
    相关资源
    最近更新 更多