28

異なる場所から実行されているアプリケーションのインスタンスが 3 つあります。すべてのプロセスには類似した名前が付いています。

特定の場所から起動されたプロセスを強制終了するにはどうすればよいですか?

4

5 に答える 5

55

アプリケーション パスを取得できます。

Get-Process | Where-Object {$_.Path -like "*something*"} | Stop-Process -WhatIf

これは、ローカル マシンでのみ機能します。リモート プロセスを終了するには:

Get-WmiObject Win32_Process -Filter "ExecutablePath LIKE '%something%'" -ComputerName server1 | Invoke-WmiMethod -Name Terminate
于 2012-04-22T07:25:56.690 に答える
0

クラス内のMainModuleプロパティProcess(PowerShellを介して呼び出すことができます)を確認できます。

foreach (Process process in Process.GetProcesses())
{
   if (process.MainModule.FileName == location)
   {
       process.Kill();
   }
}

また、このコードの呼び出し中に発生する可能性のある例外についても検討します。これは、存在しなくなったプロセス(GetProcessが最後に呼び出されてから強制終了された)または権限がないときにプロセスにアクセスしようとした場合に発生する可能性があります。

于 2012-04-22T07:19:18.537 に答える