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"
そして、"associators of" を使用するときにキーを指定できます。
Get-CimInstance -Query "Associators of {win32_service.name='WAS'} WHERE AssocClass=win32_dependentservice Role=dependent"
Get-CimAssociatedInstance で「役割」を指定することはできますか? または、WQL を使用してサービスが依存/先行するかどうかを判断することに固執していますか?
編集: Cim コマンドレットでこの情報を取得できるかどうかを特に知りたいです。Get-Service が情報を取得できることは知っていますが、ここで求めているのはそれではありません。