Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

トラブル対策のためのコンピュータ情報を効率よく収集する

解説をスキップして操作方法を読む

デジタルアドバンテージ 小川 誉久
2006/09/09
 
対象OS
Windows XP
Windows Server 2003
トラブル対策では、まずは状況を正確に知る必要があるのだが、特に遠隔地にあるコンピュータの状態を把握するのは容易ではない。
msinfo32.exeツールを利用すれば、ハードウェア構成からソフトウェア構成、ネットワーク構成まで、必要な情報を一括して収集可能だ。
またローカル・コンピュータだけでなく、リモート・コンピュータの情報も収集できる。結果をファイルに保存することも可能である。
 
解説

 システム管理者にとって胃が痛む仕事の1つに、クライアントPCのトラブル対策がある。コンピュータの専門家でないユーザーは、コンピュータを使っていて何かトラブルが起こると、自身では対処しようがないため、PCに詳しい身近なリーダー的存在の人や、ヘルプデスク、管理者などに助けを求めてくる。

 トラブル対策の第一歩は、ユーザーのPCで何が起こっているか、状況を正しく把握することだ。しかしこれが簡単でない。OSのバージョン、Service Packのバージョン、ディスクやメモリのサイズ、インストールしているアプリケーション、ネットワークやIEの設定など、ユーザーのPCの状態を知りたいのだが、PCに詳しくないユーザーからこれらの情報を的確に聴取するのは難しい。各種オブジェクトのプロパティやコントロールパネルのアイテム、エクスプローラ、ときにはレジストリ・エディタを操作しないと調査できない情報もある。ユーザーのPCを実際に操作できるならまだよいが、遠隔地にいるユーザーと電話でやりとりするのは悪夢のような作業だ。

 Windows XPには、このような場合に頼りになるユーティリティが標準で用意されている。「システム情報」(msinfo32.exe)と呼ばれるツールだ。

「システム情報」ツール
「システム情報」を利用すれば、コンピュータの各種情報を簡単に収集できる。

 「システム情報」ツール(以下msinfo32.exeと表記)は、ハードウェア環境からソフトウェア環境、インターネット設定まで、コンピュータに関するさまざまな情報を簡単に収集できる。またローカル・コンピュータだけでなく、離れた場所にあるコンピュータの情報をリモートで収集することも可能だ。必要なら、収集した情報をファイル(テキスト形式、XML形式)にエクスポートすることもできる。収集した情報をファイルにエクスポートしてもらい、メールなどで送ってもらえば、遠くにいるユーザーの状態も詳細に把握できるようになる。


操作方法

 msinfo32.exeの初期バージョンは、Office 97に同梱された。現在でも、Officeアプリケーションの「バージョン情報」ダイアログ・ボックス([ヘルプ]−[バージョン情報]メニュー)には、[システム情報]というボタンがあり、これをクリックするとmsinfo32.exeが起動される。恐らく当初は、Officeのサポート支援ツールとして開発、同梱されたものと思われる。

 msinfo32.exeは、現在ではWindows XPやWindows Server 2003で標準提供されており、Officeをインストールしなくても利用できる。プログラム・ファイルは、

%ProgramFiles%\Common Files\Microsoft Shared\MSInfo\msinfo32.exe

にある。[スタート]−[ファイル名を指定して実行]からなら、パスを指定しなくても“msinfo32”だけで起動できるが、コマンド・プロンプトではパスが通っていないので、フルパスでコマンド名を指定するか、start msinfo32として実行する必要がある。

インタラクティブに情報を参照する

 msinfo32.exeを起動すると、左右2つに分かれたペインが表示される。このうち左側には情報の種類が階層表示され、ここから情報の種類を選択すると、右側のペインにその情報が表示されるしくみだ。情報のスキャンは、左側で項目をクリックした時点で実行され、一呼吸してから表示される。

インタラクティブな情報の確認
左側のツリーから項目をクリックすると、その情報がスキャンされ、右側のペインに結果が表示される。画面は[ネットワーク]−[アダプタ]を表示したところ。

リモート・コンピュータの情報をスキャンする

 msinfo32.exeを実行するローカル・コンピュータの情報だけでなく、リモート・コンピュータの情報をスキャンすることも可能だ。これには、[表示]−[リモート コンピュータ]メニューを実行し、表示されるダイアログでリモート・コンピュータ名やIPアドレスを指定すればよい。

[リモート コンピュータ]ダイアログ
[ネットワーク コンピュータ名]にスキャンしたいコンピュータの名前や、IPアドレスなどを指定する。

情報をファイルに書き出す

 ウィンドウでインタラクティブに情報を参照する以外にも、スキャンした結果をファイルに保存することもできる。保存できるファイルの形式は2種類で、1つはテキスト・ファイル形式、もう1つは拡張子.nfoというXML形式のファイルである。

 .nfoファイル形式で保存するには、[ファイル]−[上書き保存]メニューを実行する。すると見慣れた[名前を付けて保存]ダイアログが表示されるので、保存先フォルダとファイル名を指定する。すでにスキャンした情報があっても、ファイル保存前に再スキャンが実行され、その情報が保存される。すべての情報がスキャンされるので、保存が完了するまでに少々時間がかかる(手元のコンピュータでは30秒程度だった)。

 すでに述べたとおり、.nfoファイルはXML形式なので、必要なら、自分で情報を加工して利用することも可能だろう。またmsinfo32.exeで.nfoファイルを開けば、ツリー表示をたどりながら(msinfo32.exeのユーザー・インターフェイスを利用して)、オフラインで情報を確認できる。

 一方、テキスト・ファイルで保存するには、[ファイル]−[エクスポート]を実行し、表示される[名前を付けて保存]ダイアログで保存先フォルダとファイル名を指定する。この場合も、すべての情報が再スキャンされる。ただしテキスト・ファイルで保存した場合は、msinfo32.exeで開いて情報を参照することはできない。

コマンド・ラインでmsinfo32.exeを実行する

 msinfo32.exeをコマンド・ライン(cmd.exe)から実行することもできる。これにより、バッチを利用した自動化が可能だ。またコマンド・ラインからオプションを指定して実行すると、一部の情報だけ(例えばシステムのサマリ情報のみ)を高速にスキャンするなどが可能になる。もちろん、リモート・コンピュータの情報もスキャンできるので、スクリプトを作成すれば、ネットワーク中のコンピュータの情報を、まとめてスキャンすることもできる。

 例えば、リモートにある“testpc01”というコンピュータから、システムの概要情報をスキャンし、“testpc01.nfo”というファイルに情報を保存するには、コマンド・プロンプトで次のようにする(ただし冒頭で述べたとおり、msinfo32.exeにはpathが通っていないので注意すること)。

msinfo32 /computer testpc01 /nfo testpc01.nfo /categories +systemsummary

 そのほかのパラメータについては、msinfo32 /? で確認していただきたい。 End of Article

関連記事(Windows Server Insider)
Windows TIPS:ネットワークの診断ツールを活用する
 
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間