在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
这可能不是获取所有服务的最优雅的方法(比如说隐藏),但这将给你所有的服务以及这些服务所依赖的服务。
Get-Service -RequiredServices | select -Unique DisplayName | ? {$_.DisplayName -like "Http*" }
试试 "Get-CimInstance"。
微软提供的这种函数(Get-Service)依赖于并使用 CIMWin32 类。
(Get-Service只显示Windows服务。'HTTP'是一个系统驱动。)
Get-CimInstance 'CIM_Service'