May 27, 2011
赤ら顔が幸いした。
小学校の時、人前で話したり、友達を作るのが苦手な私でしたが、赤ら顔が幸いにも友人を作ることができた。今では問題かもしれないが、当時はまだ先生との距離も近く、こんな私を見て先生が赤ら顔を利用して笑いを持っていました。多分気にしないでくれとのメッセージだと前向きに考えて、それをきっかけに友達の数積極的に言うことできるようになることができた。何でも肯定的に考えたいと思います。医療脱毛を受けた控えておきたいのは、当日の飲酒や入浴を見合わせることになりました。基本的に医療脱毛は、レーザー脱毛の多いのですが、このレーザー脱毛は、皮膚の表面には反応しないので、ダウンタイムがほとんどないが、皮膚自体は非常に細かくなっているので、赤などの炎症を起こさないためにも、軽くシャワー程度にしておきましょう。
「PsExec」は、ローカルまたはリモートでプログラムを実行するツールである。IT管理者の端末から、まとめてリモートコンピュータ上にあるプログラムを実行できるため、メンテナンスや各コンピュータに一斉に設定を適用する際などに有効だ。
【詳細画像を含む記事】
[使い倒しテク]
社内のクライアントコンピュータに対してメンテナンス用のプログラムを実行する必要があります。IT管理者がリモートからプログラム実行する方法はないでしょうか?
PsExecを使えば、リモートコンピュータ上のプログラムを実行できるようになります
リモートコンピュータ上にあるプログラムをIT管理者の端末から実行する方法としては、Windowsの標準機能である「Windows Remote Management」サービスを利用する方法や、ログオンスクリプトを利用する方法などがある。しかし、いずれの方法も事前の設定が面倒だったり、特定のユーザー権限でしか実行できなかったりするので、IT管理者が手軽に利用できるものではない。
Sysinternalsでは、「PsExec」に代表される、名前が“Ps”で始まるツールが多く用意されている。これらのツールは、すべて“リモートから”特定の操作を行うことができる。Psで始まるツール群の1つである、PsExecはリモートからプログラムを実行できるツールで、簡単な事前設定を行うだけですぐに利用できる。
■PsExec[URL]http://technet.microsoft.com/ja-jp/sysinternals/bb897553
PsExecをIT管理者のコンピュータから実行する際、実行するプログラムと実行するコンピュータを指定すると、PsExecを実行するコンピュータとは異なるコンピュータ上でプログラムを実行できるようになる(図1)。
事前設定
PsExecを利用して、リモートコンピュータ上のプログラムを実行する場合は、プログラムを実行するコンピュータに対して事前に設定を行っておく必要がある。行うべき設定は次の2つだ。
1.Remote Registryサービスの実行2.Windowsファイアウォールから「受信の規則」→「リモート管理」の許可
もし、Active Directoryドメイン環境でクライアントコンピュータの管理を行っている場合は、上記2つの設定はいずれもグループポリシーで設定できるので、まとめて設定しておくとよいだろう。
PsExecの利用方法
PsExecはSysinternalsのWebサイトで提供されている「PsTools」というコマンドラインツールキットの一部として提供されている。PsToolsの提供ファイル(PsTools.zip)に含まれている「PsExec.exe」をコマンドプロンプトから実行できる。
PsExecからプログラムを実行するときは、「psexec」コマンドに続けて実行したいプログラムの名前をフルパスで指定する(画面1)。
コマンドの実行に成功して正常に終了すると、画面1にもあるように「error code 0」というメッセージが表示される。
画面1での実行方法では、プログラムを実行するコンピュータを指定していない。この場合、PsExecを実行したコンピュータ上(ローカル)でプログラムが実行される。リモートコンピュータ(プログラムが実行されるコンピュータ)に対してプログラムを実行したい場合は、以下のように「psexec」コマンドのあとに、リモートコンピュータの名前とプログラムのフルパスを指定する。
psexec¥¥Computer1d:¥admin.bat
ここでは「Computer1」という名前のコンピュータに対して、「d:¥admin.bat」ファイルを実行するように指定している。このとき注意してほしいのが、実行するプログラムの場所だ。フルパスを指定するときには、PsExecを実行するコンピュータから見たフルパスではなく、リモートコンピュータから見たフルパスを指定する。
もし、リモートコンピュータ上に実行したいプログラムが存在しない場合は、「-c」オプションを利用すると、PsExecを実行しているコンピュータからリモートコンピュータにプログラムをコピーしてから実行することができる。例えば、「d:¥admin.bat」ファイルをコピーしてから実行する場合には、以下のように指定すればよい。
psexec¥¥Computer1-cd:¥admin.bat
ところで、PsExecを利用してプログラムを実行する場合は、リモートコンピュータにログオンしているユーザーの権利でプログラムが実行される。そのため、管理者権限が必要なプログラムを実行するときには、明示的に管理者の「ユーザー名」と「パスワード」を指定しなければならない。
psexec¥¥Computer1-udomain¥administrator-pPassword1d:¥admin.bat
ここでは「Computer1」という名前のコンピュータに対して、「d:¥admin.bat」ファイルを実行するように指定しているが、「-u」オプションでユーザー名(administrator)、「-p」オプションでパスワード(Password1)を同時に指定している。これにより、指定したユーザー名の権利でプログラムが実行される。
主なメンテナンスタスクの実行
ここまでで、PsExecの基本的な利用方法が確認できただろう。次は、特定のコンピュータまたは一斉に実行されることが予想される、主なメンテナンスタスクを紹介しよう。
[その1]起動時に実行されるプログラムの確認
コンピュータの起動時に実行されるプログラムの確認には、本連載第3回で紹介した「Autoruns」が利用できる。Autorunsにはコマンドプロンプトから実行できるバージョンの「Autorunsc.exe」があるので、「Autorunsc」コマンドをpsexecコマンドといっしょに実行すれば、リモートコンピュータ上で、起動時に実行されるプログラムの確認も簡単にできるようになる。
psexec¥¥Computer1,Computer2-cc:¥sysinternals¥autorunsc.exe
プログラムを実行したいコンピュータが複数ある場合は、コンピュータ名をカンマ(,)で区切って指定する。
[その2]デフラグの実行
Windows 7では「デフラグ」は定期的に実行されるようにスケジューリングされているので、ふだんはメンテナンス作業を行う必要はない。しかし、IT管理者がフラグメント化の状況をすぐに知りたい場合などには、次の方法でリモートから分析が可能だ。
psexec¥¥Win7defrag.exeC:/A
上記コマンドでは「Win7」コンピュータに対して「defrag.exe」を実行し、Cドライブに対してフラグメント化の状況を分析する(「/A」オプション)ように指定している。
[その3]PowerShellコマンドレットの実行
Windows 7はデフォルトで「Windows PowerShell」がインストールされているので、PowerShellを利用した管理が可能だ。しかし、リモートからPowerShellを実行するには、通常「PSRemoting」という事前設定が必要となる。
もし、PSRemotingを設定していないが、取り急ぎPowerShellによるリモート管理を行いたいのであれば、次の方法でPowerShellコマンドレットを実行できる。
psexec¥¥Win7powershellGet-Service
PowerShellをリモートで実行したいときには、プログラム名に「powershell」と指定し、続いて実行するコマンドレット(ここでは「Get-Service」)を指定する。コマンドプロンプトからPowerShellコマンドレットを実行するのは意外に思うかもしれないが、実行結果はきちんとコマンドプロンプト上に表示される(画面2)。
実行上の注意点
ここまで見てきたように、PsExecはリモートコンピュータに対してプログラムを実行するように命令できる強力なツールである。安易に利用することで、不適切なプログラムを実行させてしまうことがないように注意してほしい。
例えば、「事前設定」のところでも説明したように、「Remote Registry」サービスを開始していないとPsExecは実行できないので、必要なときだけRemote Registryサービスを開始するようにグループポリシーなどで構成しておくと、第三者による不適切な利用も防止できるだろう。
【Windows Sysinternals 参考サイト】 ■Windows Sysinternals TechCenter(マイクロソフト)[URL]http://technet.microsoft.com/ja-jp/sysinternals/default
■PsTools[URL]http://technet.microsoft.com/ja-jp/sysinternals/bb896649
■Autorunsを利用した自動起動するプログラムの除去方法[URL]http://technet.microsoft.com/ja-jp/sysinternals/hh237366
(国井傑
株式会社ソフィアネットワーク、Microsoft MVP)
【関連記事】
【解説】IT管理者にオススメしたいマイクロソフト純正フリーサーバツール 15選
【解説】最新のWindows PE 3.1に完全対応!Windows PE 徹底活用バイブル〜トラブル解決活用編
【解説】Windows 7 大量展開シリーズ 第一弾Windows 7 SP1を効率よく社内展開するには
【解説】システム管理 完全自動化プロジェクト
【Windowsお悩み相談室】第12回 Windows 7「アクションセンター」の表示がおかしい! SQL ServerのサンプルDBはどこ?
WriteBacks
writeback message: Ready to post a comment.