在Windows中,有些服务(例如http
和USBStor
)在您查看服务或运行Get-Service
cmdlet时未列出。列出所有服务(包括隐藏的或未列出的服务)的最简单方法是什么?
例如,在列出服务时不会列举http
和USBStor
服务,但可以通过名称直接访问它们:
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
答案 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'