Windowsオペレーティングシステムは、リモートシステムを管理するためのさまざまな方法を提供します。 Telnet、RDP、VNCはそのうちのいくつかです。 これらのオプションは一般的にバインドされたグラフィカルユーザーインターフェースです。 コマンドラインインターフェイスを好む場合は、Psexecという名前の代替があります。
Psexecは、実際には以下のツールで構成されるツールセットです。,リモートシステム内のユーザーのed
PsLogList
イベントログをリストするために使用されるリモートシステム上に存在しますPsPasswd
リモートシステム上で指定されたユーザーパスワードを変更するために使用されますPsPing
リモートシステムからpingするために使用されますPsServervice
リモートシステム上のwindowsサービスの一覧表示と管理に使用されますPsShutdown
リモートwindowsシステムのシャットダウン、ログオフ、サスペンド、および再起動に使用されますPsSuspend
リモートwindowsシステム上のプロセスを中断および再開するために使用されます。,PsUptime
リモートシステムの稼働時間を表示するために使用されますこれらのツールのほとんどは32ビットおよび64ビットアーキテクチャで バイナリはそれに応じて使用できます。
Psexecツールをダウンロード
PStoolsはMark Russinovichによって開発され、次のリンクからダウンロードできます。 PStoolsは、システム管理と内部機能のための多くのツールを提供する”Sysinternals”スイートの一部です。 PStoolsはSysinternals webサイトからダウンロードできます。,
実行コマンドリモートシステム
Psexecコマンドの最も基本的な使用法は、単にリモートシステム上でcommandを実行することです。 リモートシステム上でコマンドを実行するには、リモートシステム上で実行するコマンドをユーザー名とパスワードに指定する必要があります。 Ps execの構文は以下のようになります。
psexec
この例では、ipconfig
そのIPアドレスが192.168.122.66
であるリモートシステム上でコマンドを実行します。 ユーザー名はAdministrator
で、パスワードは123456Ww
です。,
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww ipconfig
コマンドは問題なくリモートシステムで実行されます。
Psexecコマンド出力をリダイレクト
リモートシステムでコマンドを実行した後、コマンド出力は現在のシェルである現在の標準出力に出力されます。 この出力は、>を使用してファイルにリダイレクトできます。, コマンドを実行するリモートシステムがたくさんある場合、このオプションは非常に便利です。
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww ipconfig > 192.168.122.66_ifconfig
この例では、ipconfig
コマンド出力は192.168.122.66_ipcopnfig
という名前のファイルに保存されます。
ハッシュを渡す
前の例では、ユーザーパスワードを指定しました。 のみオプションは、クリアテキストのユーザーのパスワードになります。 ユーザートークンのハッシュ値を提供することもできます。 この例に続いて、ユーザートークンのハッシュを提供します。,
$ psexec \\192.168.122.66 -u Administrator -p q23q34t34twd3w34t34wtw34t ipconfig
ローカルからリモートシステムにコピーコマンド
リモートシステム上でコマンドを実行することは非常に便利な機能ですが、システム Psexecを使用すると、ローカルシステムからリモートシステムにコマンドをコピーできます。 オプションを使用します-c
コピーします。 コマ
この例では、cmd.exe
をコピーします。 コピー操作が終了した後、cmd。,exeがリモートシステム上で起動されます。
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww -c cmd.exe
見ることができるように、リモートシステム上のcmdシェルを取得します。
システムユーザーとしてコマンドを実行
リモートシステムでコマンドを実行すると、権限とプロセス所有者が指定されたユーザーになります。 リモートコマンドの所有者ユーザーをSystem
ユーザーに変更する必要がある場合は、-s
オプションを提供します。,
この例では、regedit.exe
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww -s regedit.exe
リモートシステム上でGUIアプリケーションを実行します
Windowsオペレーティングシステムは、デフォルトでGUIを提供します。 Psexecきに使用GUIアプリケーションのためのリモートシステムには、指定されたユーザーです。 ユーザーコンソールでのユーザーがデスクトップに作成されます。
このアプリケーションでは、リモートシステムでnotepad.exe
を起動します。 リモートシステムAdministrator
ユーザーはこのメモ帳と対話できます。,
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww -i notepad.exe
ローカルシェルを取得しますリモートユーザーがメモ帳を閉じた後。 Closeすると、終了コードがpsexecコンソールに出力されます。
リモートシステム上で対話型シェルを作成します
これまでは、リモートでコマンドを実行していました。 コマンドの実行が終了した後、リモートシステム接続が閉じられます。 これはsession接続のようなものです。, Psexecはリモートシェルやコマンドラインを提供します。 Psexecはリモート接続し、MS-DOSシェルを提供します。 リモートシェルを取得するために、リモートシステムでcmd.exe
コマンドを提供します。
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww cmd.exe
Regeditを実行しますシステム権限
windowsレジストリは、”regedit”という名前のguiツールで管理できます。, Regeditは現在のユーザーでアクセスできますが、場合によっては”システム”権限でローカルシステムレジストリを編集する必要があります。 次のpsexecコマンドを使用して、システム権限で”Regedit”を開くことができます。
$ psexec -s -i regedit.exe
Psexec Tools
これまで一般的に、リモートシステムを実行するためのコマンドを提供してきました。 システム管理者として毎日の操作は頻繁に変更されません。 Psexec toolkitは、コマンドをパラメータとして追加せずに直接実行する簡単なコマンドを提供します。 これらのツールを以下で見ていきます。,
PsFileでリモートシステム上のファイルを一覧表示
PsFileコマンドを使用すると、開いているファイルを一覧表示または閉じることができます。 構文はPSexecコマンドと非常によく似ています。 この例では、リモートシステム上のC:\Users\
にあるファイルを一覧表示します。
$ psfile \\192.168.122.66 -u Administrator -p 123456Ww
PsGetSidを持つリモートシステム上のSIDのリスト
sidは、より詳細な方法でwindowsユーザーを識別するために使用されます。, We can list provided users SID with PsGetSid
command like below.
$ psgetsid \\192.168.122.66 -u Administrator -p 123456Ww
Get Remote System Information With PSInfo
PsInfo is a tool used to get remote system information like Uptime, Version, Windows variant etc.,
IE Version
Internet Explorerのバージョンを表示System Root
オペレーションシステムがインストールされている場所を表示Processor
プロセッサまたはスレッド数を表示Processor Speed
Physical Memory
Video Driver
現在ロードされているドライバ名を表示しますpslistを使用してリモートシステムでプロセスを一覧表示します
リモートシステムで実行されているプロセスは、PsList
コマンドで簡単にリストすることができます。,
$ pslist \\192.168.122.66 -u Administrator -p 123456Ww
The output will provide following information about remote system processes.,
Name
実行可能ファイル名ですPid
プロセスを識別するプロセスIDですPri
重い時間にプロセスのパフォーマンスに影響を与える優先順位ですThd
スレッド番号ですHnd
ファイルハンドラカウントを開いていますCPU Time
時間として使用されるcpuリソースの合計ですElapsed Time
,
Pskillを使用してリモートシステムでプロセスを強制終了
リモートシステムで実行されているプロセスは、PsKill
コマンド のために死の過程において提供し、プロセスidやプロセス名を引数に使います。 プロセスid2064
でリモートプロセスを強制終了します。,
$ pskill \\192.168.122.66 -u Administrator -p 123456Ww 2064
psloglistでリモートシステム上のイベントログを一覧表示
リモートシステムログは、PsLogList
コマンドで簡単にローカルシステムにダンプ を使用した場合はこのコマンドな追加パラメータでダンプすべてのイベントログからのリモートシステムの記入ョンをインストールして下さい。, したがって、この例では、最後の5分間のイベントログを-m
オプションで制限します。
$ psloglist \\192.168.122.66 -u Administrator -p 123456Ww -m 5
PsPasswdでリモートシステム上のパスワードを変更
リモートシステムユーザーのパスワードは、PSPasswd
コマンドで簡単に変更できます。 この例では、ユーザーAdministrator
パスワードを123456Aa
に変更します。,
$ pspasswd \\192.168.122.66 -u Administrator -p 123456Ww Administrator 123456Aa
PsPingでPing
別の便利なツールisPsPing
pingするicmpパケットを作成します。 このコマンドはlocal systemを実行します。
$ psping google.com
PsServiceを使用してリモートシステム上のサービスを管理します
PsService
コマンドは、リモートシステム上のサービスを一覧表示、開始、,
List Services
We can list remote service with query
option.
$ psservice \\192.168.122.66 -u Administrator -p 123456Aa query
Start Service Remotely
Remote service can be started with start
option. In this example we will start the service named ALG
service.,
$ psservice \\192.168.122.66 -u Administrator -p 123456Aa start ALG
サービス開始後、サービスに関する情報が印刷されます。
リモートでサービスを停止します
次の例では、ALG
サービスを停止します。,
$ psservice \\192.168.122.66 -u Administrator -p 123456Aa stop ALG
Shutdown, Reboot, Suspend Remote System With PSShutdown
Remote system can be shut down with PSShutdown
command like below.
$ psshutdown \\192.168.122.66 -u Administrator -p 123456Aa -k