列出PowerShell中的所有服务

时间:2020-06-09 18:53:29

标签: powershell windows-services

在Windows中,有些服务(例如httpUSBStor)在您查看服务或运行Get-Service cmdlet时未列出。列出所有服务(包括隐藏的或未列出的服务)的最简单方法是什么?

例如,在列出服务时不会列举httpUSBStor服务,但可以通过名称直接访问它们:

PS C:\Windows\System32> Get-Service | Where-Object {"http","usbstor","spooler" -contains $_.Name}

Status   Name               DisplayName
------   ----               -----------
Running  Spooler            Print Spooler


PS C:\Windows\System32> Get-Service "http","usbstor","spooler"

Status   Name               DisplayName
------   ----               -----------
Running  http               HTTP Service
Running  spooler            Print Spooler
Stopped  usbstor            USB Mass Storage Driver

2 个答案:

答案 0 :(得分:2)

这可能不是获得所有服务的最优雅的方法(每句话都被隐藏),但是它将为您提供所有服务以及这些服务所依赖的服务。

Get-Service -RequiredServices | select -Unique DisplayName | ? {$_.DisplayName -like "Http*" }

答案 1 :(得分:1)

尝试“ Get-CimInstance”。

Microsoft提供的此类功能(Get-Service)依赖并使用CIM / Win32类。

(Get-Service仅显示Windows服务。“ HTTP”是系统驱动程序。)

Get-CimInstance 'CIM_Service'