我试图获取win32_service的关联实例列表,然后根据它们是否依赖于"来分隔这些实例。或者""要求" win32_service。
例如,我可以获得WAS服务的关联列表:
$service = Get-CimInstance -Query "SELECT * FROM win32_service WHERE name='WAS'"
Get-CimAssociatedInstance -InputObject $service -Association "win32_dependentservice"
这使我可以获得与WAS相关的服务列表;然而,它并没有说明它们是否是先前的"或"依赖"对象。
如果我使用WQL,我可以看到对象是由先行和从属键枚举的:
Get-CimInstance -Query "SELECT * FROM win32_dependentservice"
然后,我可以在使用"
的"关联器时指定密钥Get-CimInstance -Query "Associators of {win32_service.name='WAS'} WHERE AssocClass=win32_dependentservice Role=dependent"
是否可以指定"角色"在Get-CimAssociatedInstance?或者,我是否坚持使用WQL来确定服务是否依赖/先前?
编辑:我特别想知道是否可以使用Cim cmdlet获取此信息。我知道Get-Service可以获取信息,但这不是我在这里要求的。
答案 0 :(得分:0)
我会把它作为答案。我认为最适合您的解决方案是使用Get-Service cmdlet。它为您提供您要求的信息。使用和输出示例:
PS C:\windows\system32> Get-Service wwansvc|fl
Name : wwansvc
DisplayName : WWAN AutoConfig
Status : Stopped
DependentServices : {}
ServicesDependedOn : {wcmsvc, RpcSs, NdisUio}
CanPauseAndContinue : False
CanShutdown : False
CanStop : False
ServiceType : Win32ShareProcess
这表明没有任何东西取决于它,但它取决于wcmsvc,RpcSs和NdisUio。