PsExec

提供: セキュリティ
移動: 案内検索
スポンサーリンク

PsExec とは、Windowsの軽量なリモートコマンド実行のクライアントです。PSToolsに含まれています。

読み方

PsExec
ぴーえす えぐぜっく

概要

ダウンロード

インストール

PsExecを実行可能なパスにコピーするだけです。

使い方

コマンドラインオプション

psexec [\\<コンピューター>[,<コンピューター2>[,...] | @<ファイル>]
[-u <ユーザー> [-p <パスワード>]][-n s][-l][-s|-e][-x][-i [<セッション>]]
[-c [-f|-v]][-w <ディレクトリ>][-d][-<優先度>][-a n,n,... ] cmd [<引数>]

リモートでのコマンド実行

\\fooで対話型のコマンドプロンプトを起動します。

psexec \\foo cmd

\\fooでipconfigコマンドを実行します。

psexec \\foo ipconfig /all

\\fooでtest.exeを実行します。test.exe がパスが通っていることが前提です。

psexec \\foo -c test.exe

\\fooでフルパスで指定したtest.exeを実行します。

psexec \\foo -c c:\bin\test.exe

ユーザー名とパスワードを指定して実行する

ユーザー名とパスワードを指定してコマンドを実行します。

psexec \\foo -u user -p password cmd

リモートに存在しないコマンドをコピーして実行する

リモートホストに実行したいコマンドがない場合は、PsExecはローカルのファイルをコピーして実行できます。

  1. PsExecは、ローカルのファイルシステムのファイルをリモートホストの System32 フォルダにコピーします。
  2. System32 からコマンドを実行します。
  3. System32 からコピーしたプログラムを削除します。

この機能を利用するには、-c オプションを使用します。 プログラムに関連するDLLやファイルはコピーされません。

-c オプションを単独で使用した場合、コピー先にすでにファイルが存在するときは、コピーされません。 -fを併用すると、ファイルを強制的にコピーします。 -vオプションを追加することで、ファイルのバージョンとタイムスタンプが検査され、ローカルのプログラムが新しいバージョンか新しいタイムスタンプの場合に限り、ファイルがコピーされます。

psexec \\foo -c test.exe
psexec \\foo -c test.exe -f
psexec \\foo -c test.exe -f -v

複数のホストでコマンド実行

psexec @hosts.txt test.exe

-nオプションで、リモート接続に許可する最大の秒数を指定できます。 以下の例では、接続ごとに10秒に指定します。

psexec @hosts.txt -n 10 test.exe

システムアカウントで実行する

-sオプションを指定した場合、対象のコマンドをシステムアカウントで実行します。 -iオプションをしていないばいい、システムアカウントで実行される他のWindowsサービスと同じ日対話環境(セッション0)でプロセスが実行され、コンソール出力は、PsExecを実行しているコンソールに来ダイレクトされます。

この実行モードは、対話ユーザーがログオフした場合にもプロセスの実行を継続します。

psexec \\foo -s cmd.exe

関連項目




スポンサーリンク