使用WMI对象

时间:2017-03-22 01:23:20

标签: powershell wmi get-wmiobject

以下PowerShell命令将为我提供所有Windows服务的列表:

Get-WmiObject -Class Win32_Service

如果我想使用此对象仅显示某个特定服务怎么办?假设我想用它来显示假脱机程序服务。我不想使用Get-Service cmdlet。思考Select-Object会对我有所帮助,但只会选择属性名称,而不是服务名称。

2 个答案:

答案 0 :(得分:1)

Get-WmiObject -Class win32_Service | Where-Object Name -eq 'spooler'

Get-WmiObject -Class win32_Service | Select-Object * | Where-Object Name -eq 'spooler'

答案 1 :(得分:1)

虽然使用Get-WmiObject过滤Where-Object输出将起作用,但如果您对远程主机运行cmdlet,则会对性能产生负面影响,因为所有输出都将在网络过滤之前通过网络发送当地主人。使用Get-WmiObject直接过滤效率更高,因此只检索相关数据:

Get-WmiObject -Class Win32_Service -Filter "Name='spooler'"