You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取服务器管理器中标注的Total disk space总磁盘空间数值

问题描述

我需要获取服务器管理器中显示的*"Total disk space"*数值,相关参考截图如下:
相关截图
我此前进行了相关检索但未找到有效解决方案,目前已尝试使用的代码如下:

$total=0;Get-WmiObject Win32_Volume | ForEach-Object {$total += [Math]::Round((($_.Capacity - $_.FreeSpace) / 1GB),2)};Write-Output "TotalUsedSpace_GB : $total"

恳请告知获取该数值的正确方法,谢谢。

解决方案

你当前使用的代码计算的是所有卷的已用空间总和,和你需要的总磁盘空间统计逻辑不符,且你使用的Get-WmiObject已被微软官方弃用,推荐使用Get-CimInstance替代,同时需要过滤服务器管理器统计时不会纳入的非本地固定磁盘卷,才能得到和界面显示一致的结果。

正确代码如下:

$totalCapacity = 0
# DriveType=3 仅统计本地固定磁盘,排除光驱、移动存储、网络映射盘等
Get-CimInstance Win32_Volume | Where-Object {$_.DriveType -eq 3 -and $_.Capacity -ne $null} | ForEach-Object {
    $totalCapacity += [Math]::Round($_.Capacity / 1GB, 2)
}
Write-Output "TotalDiskSpace_GB : $totalCapacity"

如果需要统计已使用的总磁盘空间,调整代码中的累加逻辑即可:

$totalUsed = 0
Get-CimInstance Win32_Volume | Where-Object {$_.DriveType -eq 3 -and $_.Capacity -ne $null} | ForEach-Object {
    $totalUsed += [Math]::Round(($_.Capacity - $_.FreeSpace) / 1GB, 2)
}
Write-Output "TotalUsedSpace_GB : $totalUsed"

内容的提问来源于stack exchange,提问作者Empty Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 19:06:10