PsToolsを使用してコマンドラインから他のPCを制御する
SysInternalsを扱う今日のGeek Schoolシリーズのレッスンでは、PsToolsユーティリティセットを使用して、ローカルとリモートコンピュータの両方であらゆる種類の管理タスクを実行する方法を説明します。.
学校のナビゲーション- SysInternalsツールとは何ですか??
- プロセスエクスプローラについて
- Process Explorerを使用したトラブルシューティングと診断
- プロセスモニタについて
- Process Monitorを使用したトラブルシューティングとレジストリハッキングの発見
- 自動実行を使用して起動プロセスとマルウェアを処理する
- BgInfoを使ってデスクトップにシステム情報を表示する
- PsToolsを使用してコマンドラインから他のPCを制御する
- ファイル、フォルダ、ドライブの分析と管理
- ツールをまとめて使用する
他のコンピュータに接続してコマンドを実行したり、実行中のプロセスに関する情報をすばやく取得したり、必要に応じてそれらを強制終了したり、他のPCでサービスを停止したりしたい場合は、PsToolsユーティリティを使用してこれらすべてを実行できます。もっと.
明らかに、リモートデスクトップまたは同様のサービスを使用して任意のWindowsコンピュータに接続し、実際にデスクトップを表示してローカルで実行することはできますが、PsToolsユーティリティを使用すると、コマンドラインから、またはさらに優れた作業を実行できます。後で再利用できるスクリプト.
これらは企業環境で最もよく機能する種類のユーティリティであり、これらのツールを習得することで、システム管理業務を大幅に改善し、時間を節約し、はるかにスマートな方法で作業を実行できるようになります。物事をより賢く、より速くすることは、優れたシステム管理者になるための重要なスキルです。.
PsToolsセットには12個のツールがありますが、それらの中には非常に便利なものもありますが、最近のバージョンのWindowsに組み込まれたツールに置き換えられたものもあります。私たちはそれらすべてを見ていきますので、あなたはそれらがどのように働くのか、そしてなぜあなたはそれぞれを使いたいのかを理解する.
- PsExec - リモートコンピュータ上でプロセスを実行します
- PsFile - ネットワーク経由でリモートコンピュータ上で開かれているファイルを表示します
- PsGetSid - コンピュータまたはユーザーのセキュリティ識別子を表示します
- PsInfo - システムに関する情報を一覧表示します
- PsKill - 名前またはIDでプロセスを強制終了する
- PsList - コマンドラインでプロセスに関する情報を一覧表示する
- PsLoggedOn - コンピュータにログオンしているか、リモートで接続しているアカウントを一覧表示します。
- PsLogList - コマンドラインでイベントログを取得する
- PsPasswd - ユーザーのパスワードを変更する
- PsPing - いくつかの追加機能を備えた非常に単純なpingユーティリティ
- PsService - Windowsサービスを一覧表示して変更を加える
- PsShutdown - コンピュータをシャットダウン、ログオフ、または一時停止する
- PsSuspend - プロセスを中断して再開する
PsExecのようなツールを使用して、リモートコンピュータ上であらゆる種類のコマンドラインユーティリティを実行できることは注目に値します…Autorunsコマンドラインツールのような本当に便利なものも含めて。あなたがPsToolsの力を受け入れたら、可能性は無限大です.
これらのツールはすべてローカルコンピュータでも使用できますが、リモートコンピュータに接続してコマンドを実行するのに役立ちます。.
リモートコンピュータへの接続(すべてのユーティリティの構文)
すべてのユーティリティは、ローカルコンピュータまたはリモートコンピュータのどちらでも実行できます。そのため、必要に応じて、すべてのユーティリティに同じコンピュータ名の最初の引数があります。代わりにIPアドレスを使用することもできます。この引数を省略すると、コマンドはローカルコンピュータで機能します。.
psinfo \\コンピュータ名
psinfo \\ computer1、computer2、computer3のように複数のコンピュータを一覧表示することも、すべての名前をファイルに入れてpsinfo @ computerlist.txtのように参照することもできます。最後の構文は、ドメイン内のすべてのコンピュータで動作するpsinfo \\ *です。これは、おそらく毎日使うものではないでしょう。.
ローカルコンピュータのアカウントが他のコンピュータとは異なるユーザー名とパスワードを使用しているために別の資格情報で接続する必要がある場合は、-uオプションと-pオプションを使用できますが、-p onは使用したくない場合があります。セキュリティ上の理由から、コマンドにパスワードを指定したコマンドライン. 更新:PsExecの最新リリースの時点で、パスワードをクリアテキストとして渡すツールはもうありません。したがって、唯一の心配は、誰かがあなたのスクリプトファイルを読んでそこにパスワードを表示できるかどうかということです。.
psinfo \\コンピュータ名-u“ユーザ” -p“パスワード”
ドメイン環境にあり、現在実行中のユーザーから変更する必要がある場合、コマンドの「user」部分は「DOMAIN \ user」に変わります。.
注意: 通常、管理者アカウントでリモートコンピュータに接続する必要があります。.
リモート管理アクセスの設定
PsToolsを使用する必要があるほとんどの人がそうであるドメイン環境にいる場合、すべてがうまく機能するはずなので、このセクションを完全に無視することができます。自宅環境でWindows 7、8、またはVistaを実行している場合、またはドメインを持たないオフィスで2〜3台のコンピューターを使用している場合は、PsToolsを正しく実行できるようにリモートコンピューターのユーザーアカウント制御を調整する必要があります。.
問題はマイクロソフトによってよく説明されています。
たとえば、ターゲットリモートコンピュータのローカル管理者グループのメンバであるユーザーが、net use * \\ remotecomputer \ Share $コマンドを使用してリモート管理接続を確立すると、完全管理者として接続することはできません。ユーザーはリモートコンピューターで昇格の可能性がなく、ユーザーは管理タスクを実行できません.
別の言い方をすると、別のコンピュータに接続して管理者アクセスが必要なものを実行しようとすると、UACプロンプトを起動して自分のコンピュータから受け入れる方法がないため、管理者として接続しません。.
これは悪いことではありません。マルウェアがローカルのユーザー名とパスワードを持ち、そのパスワードが他のコンピューターと同じであると仮定すると、マルウェアがコンピュータ間で広がる可能性があることを十分に理解しないでこの設定を変更しないでください。マルウェアはそのトリッキーです、大部分はそうではありません。しかし、それはまだ軽視されるものではありません.
また、ドメイン環境にいる場合は、この問題は存在しないため、変更する必要はありません。仮想マシンでテストしているだけなら、心配する必要はあまりありません。.
PsToolsを実行できるようにUACを調整するには、レジストリエディタを開き、次のキーに移動します。
HKEY_LOCAL_MACHINE \ソフトウェア\マイクロソフト\
Windows \ CurrentVersion \ Policies \ System
表示されたら、右側に新しい32ビットDWORDを作成し、LocalAccountTokenFilterPolicyという名前と1の値を付けます。設定を有効にするためにコンピュータを再起動する必要はありません。.
注意: 明確にするために、この設定は接続しているリモートコンピュータで行われる必要があります。.
PsExec
リモートコンピュータで実行するのと同じように、ローカルコマンドプロンプトで任意のコマンドを実行できるため、PsExecはおそらくキットの中で最も強力なツールです。これには、コマンドラインで実行できるものすべてが含まれます。レジストリ値を変更したり、スクリプトやユーティリティを実行したり、そのPCから別のPCに接続したりできます。コマンドの出力は、リモートPCではなく、ローカルPCに表示されます。.
構文は簡単です。
psexec \\ computername apptorun.exe
しかし現実的には、ユーザー名とパスワードもコマンドラインに含めたいでしょう。たとえば、他のPCに接続してネットワーク接続リストを確認するには、次のようにします。
psexec \\ computername -uユーザー-pパスワードipconfig
そのコマンドは、次のような出力を生成します。
次のページ:PsExecを使用したリモートコマンドの実行