Windows TIPS
[System Environment]
systeminfoコマンドでシステムの情報を収集する
■
コンピュータを管理するためには、リモートからシステムの情報を収集できると便利である。
■
systeminfoコマンドを使うと、システムの基本的な情報をリモートから収集することができる。
■
forコマンドなどと組み合わせてネットワーク上のコンピュータを自動的にスキャンすることもできる。
ネットワーク上に存在するWindowsシステムの一覧を調べ、それらのシステム構成やOS、ネットワークなどの設定情報を把握しておくことは、システム管理の基本的な作業である。といっても、いちいちそれらのシステムにまで出向いてコンピュータを起動し、そのシステム情報を収集するのでは非常に手間が掛かる。可能ならばリモートから情報を収集するようにしたい。
Windows OS上でシステムの情報を収集するためのコマンドにはいくつかあるが、本TIPSでは、Windows XPやWindows Server 2003に用意されているsysteminfo.exeコマンドを紹介する。これはコマンド・プロンプト上で利用するツールであり、ローカルのシステム情報だけでなく、リモート・コンピュータの情報も収集することができる。表示される情報には、コンピュータ名やOS名、サービスパック情報、メモリ容量、ドメイン・コントローラやメンバ・サーバといったシステム用途情報、インストールされているホットフィックス(修正プログラム)情報、ネットワーク・カード情報などがある。
systeminfoの基本的な使い方
コマンド・プロンプトを開いてsysteminfoを実行すると、デフォルトではローカルのシステムに関する情報が表示される。
C:\>systeminfo …コマンドの実行
ホスト名: XPC22 …コンピュータ名
OS 名: Microsoft Windows XP Professional
OS バージョン: 5.1.2600 Service Pack 1 ビルド 2600
OS 製造元: Microsoft Corporation
OS 構成: メンバ ワークステーション …ドメイン/ワークグループ構成
OS ビルドの種類: Uniprocessor Free
登録されている所有者: user23
登録されている組織:
プロダクト ID: XXXXX-XXX-XXXXXX-XXXXX
最初のインストール日付: 2002/09/29, 12:38:00
システム起動時刻: N/A
システム製造元: MICRO-STAR INC.
システム モデル: MS-6580
システムの種類: X86-based PC
プロセッサ: 1 プロセッサインストール済みです。
[01]: x86 Family 15 Model 2 Stepping 9 GenuineIntel ~2704 Mhz
BIOS バージョン: AMIINT - 10
Windows ディレクトリ: C:\WINDOWS
システム ディレクトリ: C:\WINDOWS\System32
…(中略)…
ホットフィックス: 163 ホットフィックスがインストールされています。
[01]: File 1 …ホットフィックス情報
[02]: File 1
…(以下省略)…
リモート・システムへの接続
リモート・コンピュータの情報を収集する場合は、/s オプションを使って、接続先のコンピュータ名を指定する。またユーザー名やパスワードの指定が必要な場合は、「/u ユーザー名 /p パスワード」のように指定すればよい。ただし情報のスキャンの対象となるコンピュータのOSは、Windows NT系のOS(Windows NT、Windows 2000、Windows XP、Windows Server 2003)に限られる。
C:\>systeminfo /s server1 /u Administrator /p パスワード
ホスト名: SERVER1 …リモート・システムの名前
OS 名: Microsoft Windows 2000 Server
OS バージョン: 5.0.2195 Service Pack 4 ビルド 2195
OS 製造元: Microsoft Corporation
OS 構成: プライマリ ドメイン コントローラ
OS ビルドの種類: Uniprocessor Free
…(以下省略)…
「/p パスワード」の指定を省略すると、パスワード入力のためのプロンプトが表示されるので、手動で入力する。バッチ・ファイルなどを利用する場合は、セキュリティのために、パスワードを直接記述しないようにしておくのがよいだろう。
リモート・システムの自動スキャン
ネットワーク上に存在するコンピュータをスキャンしてログを作成するには、例えばforコマンドなどを使って多数のコンピュータに対して自動スキャンさせるか(コンピュータ名の一覧をテキスト・ファイルに作成しておき、for /fコマンドで処理する)、IPアドレスを順番に変えながらスキャンするとよいだろう。例えば192.168.0.0/24のネットワーク上のコンピュータ(192.168.0.1〜192.168.0.254)をスキャンするには、次のようにする(存在しないIPアドレスを指定するとタイムアウトするまで待つことになるので、終了するまでにはかなり時間が掛かる)。
C:\>for /l %i in (1,1,254) do systeminfo /s 192.168.0.%i /u ドメイン\ユーザー名 /p パスワード /fo csv >> result.txt
出力をファイルに収集するために、ここでは結果を「>> result.txt」としてファイルに追加書き込みしている。「/fo csv」はCSV形式で出力を行わせるための指定であり、「/fo table」とすると表形式で出力させることもできる。出力形式の詳細については「systeminfo /?」やヘルプなどで確認していただきたい。なお、接続するユーザー名だけでなくパスワードも指定しておかないと、パスワードの入力待ちで実行が停止することがあるので注意すること。また、このコマンドをバッチ・ファイルなどに記述して利用する場合は、2カ所ある「%i」を「%%i」と変更する必要がある(forコマンドの仕様による)。
この記事と関連性の高い別のWindows TIPS
generated by
TechTargetジャパン
Windows Server Insider フォーラム 新着記事
キャリアアップ
**先週の人気講座ランキング**
〜 Android編 〜