powershell - 检索特定驱动器数据 - Get-WmiObject Win32_logicaldisk
问题描述
我正在尝试使用 Get-WmiObject 检索特定驱动器的 FreeSpace。
在我的机器上使用 Get-WmiObject Win32_logicaldisk 返回以下内容:
PS C:\Users\Julian\Desktop\Tools\Powershell> Get-WmiObject Win32_logicaldisk | Select-Object DeviceID, FreeSpace
DeviceID FreeSpace
-------- ---------
C: 47114498048
S: 9963356160
Z: 985061974016
我想根据我指定的驱动器号 (DeviceID) 专门请求 FreeSpace,但是我不确定如何执行此操作,因为我对 powershell 还比较陌生。任何帮助,将不胜感激。
解决方案
使用-Filter
参数在源头过滤对象:
PS> Get-WmiObject Win32_logicaldisk -Filter 'DeviceId = "C:"' | Select-Object DeviceID, FreeSpace
DeviceID FreeSpace
-------- ---------
C: 14188314624
过滤器表达式'DeviceId = "C:"'
本质上是WQL语句的WHERE
子句。
但是请注意,这些*-Cim-*
cmdlet 已取代*-Wmi*
PSv3+ 中的 cmdlet。
幸运的是,WQL 是CQL(CIM 查询语言)的实现,因此可以使用相同的过滤器:
PS> Get-CimInstance Win32_logicaldisk -Filter 'DeviceId = "C:"' | Select-Object DeviceID, FreeSpace
DeviceID FreeSpace
-------- ---------
C: 14188314624
推荐阅读
- rxjs - 使用自动滚动拖放(dom-autoscrolling)
- javascript - 如何从数组中获取上一个和下一个 id
- python - 每次如何为结果创建唯一的参考?
- html - 从左到右切换导航栏引导程序
- ruby-on-rails - 0:Fixnum Prawn/Rails 的未定义方法“删除”
- asp.net - 使用 Windows 身份验证时会话超时是否可行?
- c++ - 将 std::regex 设为静态是个好主意吗?
- amazon-web-services - 如何加快两个帐户之间的文件复制速度
- python - 如何遍历带有嵌套字典的列表?
- reporting-services - 在参数 ssrs(rdl) 中将特定值设为默认值