Windowsのsysteminfoコマンドでシステムの情報を収集するTech TIPS

PCを管理するためには、リモートからシステムの情報を収集できると便利だ。systeminfoコマンドを使うと、システムの基本的な情報をリモートから収集できる。forコマンドなどと組み合わせてネットワーク上のPCを自動的にスキャンすることもできる。

» 2022年10月05日 05時00分 公開

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

systeminfoでシステム構成をリモートから集めたい

対象OS:Windows 8.1/Windows 10/Windows 11、Windows Server 2012/Windows Server 2012 R2/Windows Server 2016/Windows Server 2019/Windows Server 2022


PCのシステム構成をリモートから取得したい!

 ネットワーク上に存在するWindows PCの一覧を調べ、それらのシステム構成やOS、ネットワークなどの設定情報を把握しておくことは、システム管理の基本的な作業である。

 といっても、いちいち各PCの設置場所にまで出向いてシステム情報を収集するのでは非常に手間が掛かる。可能ならばリモートから情報を収集するようにしたい。

 Windows OS上でシステムの情報を収集するためのコマンドには幾つかある。そのうち、本Tech TIPSでは「systeminfo.exe」コマンドを紹介する。これはコマンドプロンプト上で利用するツールであり、ローカルのシステム情報だけでなく、リモートPCの情報も収集可能だ。

 「systeminfo」コマンドで表示される情報には、コンピュータ名やOS、メモリ容量、ドメインコントローラやメンバーサーバといったシステム構成の情報、インストールされているホットフィックス(更新プログラム)情報、ネットワークカード情報などがある。

systeminfoの基本的な使い方

 コマンドプロンプトを開いてsysteminfo」コマンドを実行すると、デフォルトではローカルのシステムに関する情報が表示される。

systeminfo



systeminfoコマンドでローカルPCのシステム構成を表示させる systeminfoコマンドでローカルPCのシステム構成を表示させる

systeminfoでリモートPCのシステム構成を取得するには

 リモートPCの情報を収集する場合は、以下のように指定すればよい。

systeminfo /s <コンピュータ名> /u <ユーザー名> /p <パスワード>



 「/p <パスワード>」の指定を省略すると、パスワード入力のためのプロンプトが表示されるので、手動で入力する。バッチファイルなどを利用する場合は、セキュリティのために、パスワードを直接記述しないようにしておくのがよいだろう。

systeminfoコマンドでリモートPCのシステム構成を表示させる systeminfoコマンドでリモートPCのシステム構成を表示させる

複数のリモートPCのシステム構成を一括で取得するには

 ネットワーク上に存在するコンピュータをスキャンしてログを作成するには、例えば「for」コマンドなどを使って多数のコンピュータに対して自動スキャンさせるか(コンピュータ名の一覧をテキストファイルに作成しておき、for /fコマンドで処理する)、IPアドレスを順番に変えながらスキャンするとよいだろう。

 例えば192.168.0.0/24のネットワーク上のコンピュータ(192.168.0.1〜192.168.0.254)をスキャンするには、次のようにする(存在しないIPアドレスを指定するとタイムアウトするまで待つことになるので、終了するまでにはかなり時間が掛かる)。

for /L %i in (1,1,254) do systeminfo /s 192.168.0.%i /u <ドメイン>\<ユーザー名> /p <パスワード> /fo csv /nh >> systeminfo_remote_servers.csv



 出力をファイルに収集するために、ここでは結果を「>> systeminfo_remote_servers.csv」としてファイルに追加書き込みしている。「/fo csv」はCSV形式で出力を行わせるための指定で、「/nh」はヘッダー行(各項目名の見出し行)を省略するための指定だ。Excelなどの表計算ツールに読み込ませるには、これらのオプションを指定すると加工しやすいだろう。

systeminfoで集めたリモートPCのシステム情報をExcelワークシートにまとめた例 systeminfoで集めたリモートPCのシステム情報をExcelワークシートにまとめた例
CSVからExcelワークシートに変換する方法は、Tech TIPS「【Excel】毎日集計のCSVファイルもクエリ機能で一発自動更新」を参照していただきたい。

 なお、接続するユーザー名だけでなくパスワードも指定しておかないと、パスワードの入力待ちで実行が停止することがあるので注意すること。

 また、このコマンドをバッチファイルなどに記述して利用する場合は、2カ所ある「%i」を「%%i」と変更する必要がある。詳細はTIPS「バッチファイルの基本的な使い方」を参照していただきたい。

更新プログラムの情報なら他のコマンドの方が詳しい

 systeminfoコマンドで取得できるホットフィックス(更新プログラム)の情報は、KB(Knowledge Base)番号に限られる。

 セキュリティパッチなどの種別や適用日なども知りたい場合は、PowerShellの「Get-HotFix」コマンドレットの方が有用だろう。

 また数百個の更新プログラムが適用されているPCの場合、systeminfoコマンドは全ホットフィックスを表示できず、途中で切れてしまうことがあるので注意が必要だ。

■更新履歴

【2022/10/05】Windows 10/11などに対応しました。注意点を追記しました。

【2015/11/01】Windows 7以降のWindows OSに対応しました。

【2004/12/04】初版公開(対象OSはWindows XP/Windows Server 2003)。


「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。