PsExecを使ってみた

chakemiです。 本日は、WindowsコマンドラインツールのPsExecを使ってみたので、ご紹介したいと思います。

Windowsで、クライアントPCから、リモートPC上のプログラムやコマンドを実行しようと思ったら、 リモートデスクトップを使用して、GUIを操作するのが普通でしょうが、ちょっとしたコマンドをリモートPC上で実行したり、その結果をクライアントPC側で取得したい場合、ログインをしてGUIを操作するのは面倒です。。。

UNIXやLinuxのrshやrexecなどのリモート実行コマンドに当たるのがPsExecになります。 PsExecは標準では、用意されていません。 マイクロソフトTechNetからPSTools.zipをダウンロードします。 zipファイルを解凍すると、複数のツールが用意されていますので、その中のPsExecを使います。

インストールの必要はなく、初回起動時に使用許諾のダイアログが表示されるので、内容を確認して同意します。

PsExecを使用するには、リモートPCの管理者権限が必要で、管理共有の設定をしておく必要があります。 管理共有の設定についてはこちらのサイトが参考になります。 自分はてっとり早く簡単に設定するために、リモートPC側で、エクスプローラーの「フォルダオプション」の「簡易ファイルの共有を使用する」のチェックをはずして使用してみました。

あとは、クライアントPC側から

1
PsExec -u アカウント -p パスワード \\192.168.1.100 実行コマンド

で行えます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
PsExec.exe -u chake -p XXXXXXXX \\192.168.1.22 ipconfig

PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com



Windows IP Configuration


Ethernet adapter digicon-vpn - VPN Client:

        Media State . . . . . . . . . . . : Media disconnected

Ethernet adapter ローカル エリア接続:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 192.168.1.22
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.1
ipconfig exited on 127.0.0.1 with error code 0.

PsExecによって実行されたコマンドの出力は、リモートPCからローカルPCに転送され、標準出力にリダイレクトされるので、PsExecの出力をリダイレクトしてファイルに保存などが行えます。

セキュリティ等、十分に考慮した上で使用するには、便利なツールだと思います。

Comments