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はローカルのファイルをコピーして実行できます。
- PsExecは、ローカルのファイルシステムのファイルをリモートホストの System32 フォルダにコピーします。
- System32 からコマンドを実行します。
- 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
関連項目
ツイート