none
PowershellのStop-Processで特定ユーザーのプロセスを停止できるでしょうか?

    質問

  • PowerShellのStop-Processを使って、特定ユーザーが起動したプロセスを停止させたいのですが

    特定のユーザーの使用しているプロセスの取得の仕方が分かりません。

    2012年6月6日 0:40

回答

  • Get-Processなどで扱う.NETのSystem.Diagnostics.Processオブジェクトは、プロセスを起動したユーザー名を取得することが出来なかったと思います。

    WMIのWin32_ProcessオブジェクトだとGetOwner()メソッドにより取得できるので、こちらを利用してみてはいかがでしょうか。

    プロセスの終了はTerminate()メソッドで可能です。

    Get-WmiObject Win32_Process|
    	where {$_.GetOwner().User -eq "ユーザー名"}|
    	where {$_.Name -eq "プロセス名"}|
    	foreach {$_.Terminate()|Out-Null}

    • 回答としてマーク qoo_man 2012年6月6日 9:06
    2012年6月6日 3:55
    モデレータ

すべての返信

  • Get-Processなどで扱う.NETのSystem.Diagnostics.Processオブジェクトは、プロセスを起動したユーザー名を取得することが出来なかったと思います。

    WMIのWin32_ProcessオブジェクトだとGetOwner()メソッドにより取得できるので、こちらを利用してみてはいかがでしょうか。

    プロセスの終了はTerminate()メソッドで可能です。

    Get-WmiObject Win32_Process|
    	where {$_.GetOwner().User -eq "ユーザー名"}|
    	where {$_.Name -eq "プロセス名"}|
    	foreach {$_.Terminate()|Out-Null}

    • 回答としてマーク qoo_man 2012年6月6日 9:06
    2012年6月6日 3:55
    モデレータ
  • 早速のご回答ありがとうございます。

    こんな風に出来るんですね!!

    大変参考になりました。

    2012年6月6日 9:06