BizTalk Server 管理コンソールでは、中断されたサービス インスタンスをクエリし、アプリケーション名でフィルター処理できます。BTS 管理コンソールなしでそのような機能が必要です。
これまでのところ、中断されたインスタンスを取得する Powershell スクリプトを作成しました。
$array = Get-WmiObject MSBTS_ServiceInstance `
-Namespace 'root\MicrosoftBizTalkServer' `
-Filter '(ServiceClass = 4 or ServiceClass = 1) `
and (ServiceStatus = 4 or ServiceStatus = 16)'
foreach ($element in $array)
{
Write-Host $element.InstanceID "-" $element.HostName "-" `
$element.ServiceStatus "-" $element.ServiceClass
}
このスクリプトを実行すると、中断されたすべてのインスタンスが取得されますが、それらがどのアプリケーションに属しているかを調べるにはどうすればよいでしょうか?
PowerShell、WMI、または C# を使用するソリューションはどれも私にとって良いものです。