Get-CimAssociatedInstance可以区分先前和依赖的win32_services吗?

时间:2014-11-05 00:10:32

标签: powershell wql

我试图获取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可以获取信息,但这不是我在这里要求的。

1 个答案:

答案 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。