以下 PowerShell 命令将为我提供所有 Windows 服务的列表:
Get-WmiObject -Class Win32_Service
如果我想用这个对象只显示一个特定的服务怎么办?可以说我只想用它来显示假脱机服务。我不想使用Get-Service
cmdlet。想法Select-Object
会对我有所帮助,但这只会选择属性名称,而不是服务名称。
以下 PowerShell 命令将为我提供所有 Windows 服务的列表:
Get-WmiObject -Class Win32_Service
如果我想用这个对象只显示一个特定的服务怎么办?可以说我只想用它来显示假脱机服务。我不想使用Get-Service
cmdlet。想法Select-Object
会对我有所帮助,但这只会选择属性名称,而不是服务名称。
Get-WmiObject -Class win32_Service | Where-Object Name -eq 'spooler'
或者
Get-WmiObject -Class win32_Service | Select-Object * | Where-Object Name -eq 'spooler'
虽然过滤Get-WmiObject
输出Where-Object
会起作用,但如果您对远程主机运行 cmdlet,它将对性能产生负面影响,因为所有输出都将在本地主机上过滤之前通过网络发送。直接用 过滤效率更高Get-WmiObject
,这样只检索相关数据:
Get-WmiObject -Class Win32_Service -Filter "Name='spooler'"