使用 PowerShell 获取磁盘空间信息
PowerShell 可以在我们的 Windows 操作系统系统上生成综合报告。这些报告中的指标之一是我们的系统驱动器列表及其驱动器空间信息。
在本文中,我们将学习一些命令,这些命令将导出我们所有系统驱动器上的信息,并学习如何使用 PowerShell 确定机器中剩余的驱动器空间。
使用 PowerShell 中的 PSDrive 库获取磁盘空间信息
PSDrive 库是一组命令,负责使用 PowerShell 管理、创建和删除临时和持久驱动器。第一种方法将关注查询命令 Get-PSDrive
。
通过运行 Get-PSDrive
命令,我们可以快速获取安装在我们系统中的所有存储库的信息。
示例代码:
Get-PSDrive
输出:
Name Used (GB) Free (GB) Provider Root CurrentLocation
---- --------- --------- -------- ---- ---------------
Alias Alias
C 442.84 21.56 FileSystem C:\ Users\KentMarion
Cert Certificate \
D 3507.38 218.63 FileSystem D:\
Env Environment
Function Function
G 519.22 412.28 FileSystem G:\
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Variable Variable
WSMan WSMan
正如我们从上面的输出中看到的,Get-PSDrive
命令在其对象中有一个 Name
属性。通过了解这些信息,我们可以通过过滤其驱动器名称并选择另一个对象属性来确定其空闲大小来隔离特定驱动器。
运行以下命令进行测试。
示例代码:
Get-PSDrive -Name C | Select-Object Name, Free
输出:
Name Free
---- ----
C 23061344256
但是,如果我们将最新的输出与之前的输出进行比较,我们可以看到空闲大小已将自身转换为字节。因此,要将值重新转换为千兆字节 (GB),我们必须在选择对象属性时设置自定义表达式。
运行以下命令进行测试。
示例代码:
Get-PSDrive -Name C | Select-Object Name, @{Name = "Free (GB)"; Expression={[Math]::Round($_.Free/1GB,2)}}
输出:
Name Free (GB)
---- ----
C 21.41
上面的示例代码将列重命名为 Free (GB)
并将浮点值的输出四舍五入到小数点后两位。
在 PowerShell 中使用 WMI 对象获取磁盘空间信息
获取磁盘空间信息的另一种方法是使用 WMI Object 类。这个类的功能类似于 PSDrive,但唯一的区别是这个库可以查询远程计算机。
示例代码:
Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'" | Select-Object DeviceID, @{Name = "Free (GB)"; Expression={[Math]::Round($_.FreeSpace/1GB,2)}}
输出:
DeviceID Free (GB)
-------- ---------
C: 21.42
要在远程计算机上启动查询,请在 Get-WMIObject
命令中添加 ComputerName
参数。
Get-WmiObject Win32_LogicalDisk -ComputerName "REMOTE-PC" -Filter "DeviceID='C:'"
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn