【发布时间】:2019-05-02 12:12:35
【问题描述】:
我正在 powershell ISE 中编写一个简单的 WMI 查询。我只想得到两个字段,但我得到更多
Get-WmiObject -Query "select DisplayName, State from Win32_Service"
我得到的是一个结果列表,每个都有下一个字段,
__属:2 __CLASS : Win32_Service __超类: __DYNASTY : __RELPATH : __PROPERTY_COUNT : 2 __派生:{} __服务器 : __命名空间: __小路 : DisplayName : Windows 字体缓存服务 状态:运行我注意到这些字段都以双下划线开头,不确定它是否意味着什么。我知道我可以得到更好的结果
Get-WmiObject -Class Win32_Service | Select-Object DisplayName, State
但是,我想在这个查询中添加一个where 子句,所以我尝试使用-Query 选项。
【问题讨论】:
-
您仍然可以使用 WHERE 子句:
get-wmiobject -query "select DisplayName, State from Win32_service WHERE ..." | select-object DisplayName, State -
或者你可以使用where-object,例如
get-wmiobject -class win32_service | where-object -Property State -EQ -Value "Stopped" | select-object DisplayName, State。 -
这是
Get-WmiObject的格式文件的一部分,它规定了该cmdlet 中的对象如何打印到控制台。您要么必须手动编辑它,要么简单的方法就是使用Select-Objectcmdlet。
标签: powershell wmi-query