「PsExec」の版間の差分
(同じ利用者による、間の2版が非表示) | |||
行6: | 行6: | ||
== 概要 == | == 概要 == | ||
− | |||
== ダウンロード == | == ダウンロード == | ||
* [http://download.sysinternals.com/files/PSTools.zip PsTools] | * [http://download.sysinternals.com/files/PSTools.zip PsTools] | ||
− | |||
== インストール == | == インストール == | ||
[[PsExec]]を実行可能なパスにコピーするだけです。 | [[PsExec]]を実行可能なパスにコピーするだけです。 | ||
− | |||
== 使い方 == | == 使い方 == | ||
=== コマンドラインオプション === | === コマンドラインオプション === | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="dos"> |
psexec [\\<コンピューター>[,<コンピューター2>[,...] | @<ファイル>] | psexec [\\<コンピューター>[,<コンピューター2>[,...] | @<ファイル>] | ||
[-u <ユーザー> [-p <パスワード>]][-n s][-l][-s|-e][-x][-i [<セッション>]] | [-u <ユーザー> [-p <パスワード>]][-n s][-l][-s|-e][-x][-i [<セッション>]] | ||
[-c [-f|-v]][-w <ディレクトリ>][-d][-<優先度>][-a n,n,... ] cmd [<引数>] | [-c [-f|-v]][-w <ディレクトリ>][-d][-<優先度>][-a n,n,... ] cmd [<引数>] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
=== リモートでのコマンド実行 === | === リモートでのコマンド実行 === | ||
− | \\ | + | \\fooで対話型のコマンドプロンプトを起動します。 |
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="dos"> |
psexec \\foo cmd | psexec \\foo cmd | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | \\ | + | \\fooでipconfigコマンドを実行します。 |
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="dos"> |
psexec \\foo ipconfig /all | psexec \\foo ipconfig /all | ||
</syntaxhighlight> | </syntaxhighlight> | ||
\\fooでtest.exeを実行します。test.exe がパスが通っていることが前提です。 | \\fooでtest.exeを実行します。test.exe がパスが通っていることが前提です。 | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="dos"> |
psexec \\foo -c test.exe | psexec \\foo -c test.exe | ||
</syntaxhighlight> | </syntaxhighlight> | ||
\\fooでフルパスで指定したtest.exeを実行します。 | \\fooでフルパスで指定したtest.exeを実行します。 | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="dos"> |
psexec \\foo -c c:\bin\test.exe | psexec \\foo -c c:\bin\test.exe | ||
</syntaxhighlight> | </syntaxhighlight> | ||
行44: | 行40: | ||
=== ユーザー名とパスワードを指定して実行する === | === ユーザー名とパスワードを指定して実行する === | ||
ユーザー名と[[パスワード]]を指定してコマンドを実行します。 | ユーザー名と[[パスワード]]を指定してコマンドを実行します。 | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="dos"> |
psexec \\foo -u user -p password cmd | psexec \\foo -u user -p password cmd | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
=== リモートに存在しないコマンドをコピーして実行する === | === リモートに存在しないコマンドをコピーして実行する === | ||
リモートホストに実行したいコマンドがない場合は、[[PsExec]]はローカルのファイルをコピーして実行できます。 | リモートホストに実行したいコマンドがない場合は、[[PsExec]]はローカルのファイルをコピーして実行できます。 | ||
行62: | 行57: | ||
-vオプションを追加することで、ファイルのバージョンとタイムスタンプが検査され、ローカルのプログラムが新しいバージョンか新しいタイムスタンプの場合に限り、ファイルがコピーされます。 | -vオプションを追加することで、ファイルのバージョンとタイムスタンプが検査され、ローカルのプログラムが新しいバージョンか新しいタイムスタンプの場合に限り、ファイルがコピーされます。 | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="dos"> |
psexec \\foo -c test.exe | psexec \\foo -c test.exe | ||
psexec \\foo -c test.exe -f | psexec \\foo -c test.exe -f | ||
psexec \\foo -c test.exe -f -v | psexec \\foo -c test.exe -f -v | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
=== 複数のホストでコマンド実行 === | === 複数のホストでコマンド実行 === | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="dos"> |
psexec @hosts.txt test.exe | psexec @hosts.txt test.exe | ||
</syntaxhighlight> | </syntaxhighlight> | ||
行75: | 行69: | ||
-nオプションで、リモート接続に許可する最大の秒数を指定できます。 | -nオプションで、リモート接続に許可する最大の秒数を指定できます。 | ||
以下の例では、接続ごとに10秒に指定します。 | 以下の例では、接続ごとに10秒に指定します。 | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="dos"> |
psexec @hosts.txt -n 10 test.exe | psexec @hosts.txt -n 10 test.exe | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
=== システムアカウントで実行する === | === システムアカウントで実行する === | ||
-sオプションを指定した場合、対象のコマンドをシステムアカウントで実行します。 | -sオプションを指定した場合、対象のコマンドをシステムアカウントで実行します。 | ||
行84: | 行77: | ||
この実行モードは、対話ユーザーがログオフした場合にもプロセスの実行を継続します。 | この実行モードは、対話ユーザーがログオフした場合にもプロセスの実行を継続します。 | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="dos"> |
psexec \\foo -s cmd.exe | psexec \\foo -s cmd.exe | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
== 関連項目 == | == 関連項目 == | ||
* [[Windowsのパスワード]] | * [[Windowsのパスワード]] | ||
* [[Windows]] | * [[Windows]] | ||
* [[Pass the Hash]] | * [[Pass the Hash]] | ||
− | + | <!-- vim: filetype=mediawiki | |
− | <!-- vim: filetype=mediawiki --> | + | --> |
2015年9月22日 (火) 15:07時点における最新版
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