SysinternalsのPsTools は、12のWindows管理ユーティリティをまとめたユーティリティスイートです。PsToolsスイートには、次のような特徴があります。
- PsToolsスイートのユーティリティは、すべてがコンソールユーティリティです。コマンドプロンプトでの実行や、バッチファイルからの実行に適しており、実行結果は標準出力と標準エラー出力に送られます(実行結果はコンソールウィンドウに表示するか、ファイルにリダイレクトできます)。
- PsToolsスイートのユーティリティは、ローカルまたはリモートコンピューターを操作できます。他の多くのリモート制御プログラムとは異なり、PsToolsのユーティリティはリモートコンピューターにクライアントソフトウェアをインストールする必要がありません(当然のことですが、他のすべてのSysinternalsユーティリティと同様に、ローカルコンピューターにもインストールする必要はありません)。
- 別の資格情報を指定する標準の構文を利用できるので、ユーティリティのタスクを別のユーザーで実行することができます。次の2つのユーティリティは例外です。PsLoggedOnは、別の資格情報を受け付けません。PsPasswdは、ドメインアカウントのパスワードを変更する場合に構文が異なります。
12個のプロセス管理用ユーティリティで構成
PsToolsスイートには、次のユーティリティが収録されています。
- PsExec:リモートでプロセスを実行します。ローカルシステム権限による実行や、実行結果の出力のリダイレクトが可能です。
- PsFile:リモートコンピューターから開かれているファイルを表示または閉じます。
- PsGetSid:コンピューター、ユーザー、またはグループのセキュリティ識別子(SID)を表示します。
- PsInfo:システム情報を表示します。
- PsKill:プロセス名またはプロセスID(PID)を指定してプロセスを強制終了します。
- PsList:プロセスの情報を表示します。
- PsLoggedOn:ローカルログオンおよびリモート接続を介してログオンしているアカウントを表示します。
- PsLogList:イベントログの記録をダンプします。
- PsPasswd:ユーザーアカウントのパスワードを変更します。
- PsService:Windowsサービスの表示と制御を行います。
- PsShutdown:ローカルおよびリモートコンピューターのシャットダウン、ログオフ、または電源状態の変更を行います。
- PsSuspend:プロセスの中断と再開が可能です。
ちなみに、このスイートのPsToolsという名前と、すべてのユーティリティの名前に「Ps」が付いている理由は、このユーティリティの中で最初に開発した、プロセスをリスト表示するPsListからきています。私は、UNIXシステムで同様の機能を提供するpsユーティリティにちなんで、PsListと名付けました。
PsToolsのユーティリティの説明を始める前に、時々持ち上がる問題について触れておきます。それは、一部のアンチウイルス製品で、PsToolsをトロイの木馬プログラムや他の種類のマルウェアとして検出することがあるということです。PsToolsだけでなく、すべてのSysinternalsユーティリティはマルウェアではないので安心してください。
しかしながら、マルウェアのペイロード(本体)にPsToolsのいくつか(特にPsExec)が組み込まれて悪用されたことがあります。PsToolsには、私の名前やWebサイトの名前が埋め込まれているし、マルウェアの作者は通常、ペイロードの中に自分の連絡先情報を書き込むことはありません。そのため、ウィルスを作成し、システムに感染させたとして、Windowsユーザーから激怒の電子メールを受け取ったことが何度もあります。その度に何度も説明してきたように、PsToolsは正しい目的のために提供されるものであって、悪意のある者による不正使用は、私のコントロールの及ぶところではありません。
さらにまた、このユーティリティは、脆弱性を悪用していませんし、許可されていないアクセスを取得することもありません。ユーティリティが機能するには、必要なアクセス許可を持つ既に実行中のアカウント、もしくは正規アカウントのユーザー名とパスワードの指定が必要です。