查看: 514|回复: 0

[文章教程] 如何使用 PowerShell 获取可用磁盘空间?

[复制链接]
xuanxiao 发表于 2022-7-29 10:08:44 | 显示全部楼层 |阅读模式
如果您使用 PowerShell 在 Windows 计算机上获取可用磁盘空间,那么您来对地方了。在本教程中,您将学习如何使用 PowerShell 获取可用磁盘空间并监控磁盘使用情况。

运行命令的前提:
本教程将假定您在安装了 Windows PowerShell v5.1 的 Windows 10 或更高版本的计算机上。PowerShell 6+ 很可能也可以正常工作。还假设您处于 Active Directory 环境中。如果没有,请务必了解cmdletCredential上的属性。New-CimSession

查询 CIM
每条 Windows 系统信息都位于CIM/WMI中。WMI 数据存储有数千个 Windows 系统的信息;磁盘和存储信息只是其中之一。

CIM 数据存储分为不同的类。WMI 将有关磁盘的信息存储在 Win32_LogicalDisk 类中。Win32_LogicalDisk 类包含磁盘信息,例如磁盘名称、总大小、可用空间等。要使用 PowerShell 查询此类,您必须使用Get-CimInstancecmdlet创建一个 CIM 实例。

仅使用Get-CimInstance指定ClassName参数是查询类的最简单方法。

  1. Get-CimInstance -ClassName Win32_LogicalDisk
复制代码

Get-CimInstance将为找到的每个存储卷返回一个 PowerShell 对象,如下所示。

1.png

标准化磁盘空间输出
一次构建您自己的FreeSpace属性,它以千兆字节表示。
  1. Get-CimInstance -ClassName Win32_LogicalDisk | Select-Object -Property DeviceID,@{'Name' = 'FreeSpace (GB)'; Expression= { [int]($_.FreeSpace / 1GB) }}
复制代码


最后,删除所有不需要的属性,只返回可用空间的总量。
  1. (Get-CimInstance -ClassName Win32_LogicalDisk | Select-Object -Property DeviceID,@{'Name' = 'FreeSpace (GB)'; Expression= { [int]($_.FreeSpace / 1GB) }} | Measure-Object -Property 'FreeSpace (GB)' -Sum).Sum
复制代码

结论
使用 PowerShell 查找磁盘使用情况和磁盘可用空间只需一行,但您必须首先知道如何创建它!在本教程中,您学习了如何使用 PowerShell 获取可用磁盘空间并根据自己的喜好格式化输出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表

在线客服

售前咨询
售后咨询
服务热线
023-58418553
微信公众号