リモート コンピューターで com プロセスを強制終了したい。
taskkill を試しましたが、com GUID またはスタートアップ引数から pid を det する方法が見つかりません。
次に、次のことを試しました。
ConnectionOptions connectoptions = new ConnectionOptions();
connectoptions.Username = @"YourDomainName\UserName";
connectoptions.Password = "Password";
ManagementScope scope = new ManagementScope(@"\\" + remoteComp + @"\root\cimv2", connectoptions);
//Define the WMI query to be executed on the remote machine
SelectQuery query = new SelectQuery("select * from Win32_process where name = 'dllhost.exe' and CommandLine LIKE '%COMGUID%'");
using (ManagementObjectSearcher searcher = new
ManagementObjectSearcher(scope, query))
{
foreach (ManagementObject process in searcher.Get())
{
process.InvokeMethod("Terminate", null);
}
}
なぜかRPCエラーで実行できません(ファイアウォールがオフになっています)
独自のWebサービスに入れましたが、「ローカル接続にはユーザー資格情報を使用できません」というメッセージが表示されました
ConnectionOptions を削除しましたが、CommandLine が常に null であり、正しい dllhost.exe インスタンスを特定できないため、まだ実行できません。
Web サービスで Process クラスを使用しましたが、sturtupinfo 引数は常に空です。
別のプロセスのスタートアップ引数を取得する方法、またはプロセスを強制終了する方法がある場合。