systeminfoの使い方|Windows情報の表示・CSV保存・JSON変換と注意点

systeminfoは、WindowsのOS・機種・メモリ・起動日時などを確認する標準コマンドです。まずコマンドプロンプトでsysteminfoを実行し、保存するならsysteminfo > systeminfo.txt、CSVならsysteminfo /fo csv > systeminfo.csvを使います。以下では出力の読み方、抽出時の注意、PowerShellでのJSON変換まで説明します。

出力にはPC名、ドメイン、ネットワーク情報などが含まれます。問い合わせで渡す前に内容を確認し、公開掲示板へ全文を貼らないでください。保存例の>は同名ファイルを上書きします。書き込み可能な作業フォルダーで実行し、必要な既存ファイルは残します。

目次

systeminfoコマンドの基本概要

Windowsの「systeminfo」コマンドは、コマンドプロンプトを通じてシステムの詳細情報を取得するためのツールです。このコマンドを使用することで、オペレーティングシステムのバージョン、インストール日、システム起動時間、メモリ情報、ネットワーク設定など、多くの有用な情報を迅速に確認できます。

systeminfoコマンドの基本構文

出力形式は/fo LIST、/fo TABLE、/fo CSVで選べます。CSVを列名付きで読み込む例では/nhを付けません。項目名・日時・数値の表記はWindowsの表示言語に依存します。まず無加工の出力で実際の項目名を確認してください。

systeminfoコマンドの基本的な構文は非常にシンプルです。コマンドプロンプトを開き、「systeminfo」と入力してEnterキーを押すだけで、システムの詳細情報が表示されます。

基本的な使用例

systeminfo

このコマンドを実行することで、以下のような情報が表示されます:

  • ホスト名
  • OS 名およびバージョン
  • システム製造元
  • システムモデル
  • BIOSバージョン
  • Windows ディレクトリ
  • システム ディレクトリ
  • ブート デバイス
  • タイムゾーン
  • 合計物理メモリ
  • 使用可能な物理メモリ
  • ページ ファイルの合計サイズ
  • ページ ファイルの使用可能サイズ
  • ドメイン
  • ログオン サーバー
  • ホットフィックス
  • ネットワーク アダプター情報

このように、「systeminfo」コマンドはシステムの健康状態を迅速に確認するための非常に便利なツールです。次に、基本的な使用方法を詳しく見ていきましょう。

基本的な使用方法

「systeminfo」コマンドを使用してシステム情報を取得する基本的な手順を説明します。

コマンドプロンプトを開く

まず、コマンドプロンプトを開く必要があります。以下の手順で開くことができます:

  1. スタートメニューを開く
  2. 「cmd」または「コマンドプロンプト」と入力
  3. 検索結果から「コマンドプロンプト」を選択して開く

systeminfoコマンドを入力する

コマンドプロンプトが開いたら、次のように「systeminfo」コマンドを入力してEnterキーを押します。

systeminfo

表示される情報

コマンドを実行すると、以下のような情報が一覧で表示されます。

  • ホスト名: コンピュータの名前
  • OS 名およびバージョン: インストールされているオペレーティングシステムの名前とバージョン
  • システム製造元: システムのハードウェア製造元
  • システムモデル: システムのモデル番号
  • BIOSバージョン: システムのBIOSバージョン
  • Windows ディレクトリ: Windowsがインストールされているディレクトリ
  • システム ディレクトリ: システムファイルが保存されているディレクトリ
  • ブート デバイス: システムが起動するデバイス
  • タイムゾーン: システムが設定されているタイムゾーン
  • 合計物理メモリ: システムにインストールされている物理メモリの合計
  • 使用可能な物理メモリ: 使用可能な物理メモリの量
  • ページ ファイルの合計サイズ: ページファイルの合計サイズ
  • ページ ファイルの使用可能サイズ: 使用可能なページファイルのサイズ
  • ドメイン: システムが所属しているドメイン
  • ログオン サーバー: ログオンサーバーの情報
  • ホットフィックス: インストールされているホットフィックスの一覧
  • ネットワーク アダプター情報: インストールされているネットワークアダプターの情報

情報の活用方法

取得した情報は、システムの状態確認やトラブルシューティングに役立ちます。例えば、メモリの使用状況を確認してシステムのパフォーマンスを評価したり、インストールされているホットフィックスを確認してセキュリティ更新プログラムの適用状況を把握したりすることができます。

このように、「systeminfo」コマンドを使うことで、システムの基本的な情報を簡単に取得できるため、日常的な管理や問題解決に非常に便利です。次に、出力内容の詳細を理解するための方法を見ていきましょう。

systeminfoの出力内容の理解

「systeminfo」コマンドの出力結果を詳細に理解することで、システムの状態をより正確に把握することができます。ここでは、各出力項目の意味とその活用方法について説明します。

ホスト名

システムのネットワーク名を示します。この情報は、ネットワーク管理やリモート接続を行う際に使用します。

OS 名およびバージョン

インストールされているオペレーティングシステムの名前とバージョンが表示されます。システムの互換性やアップデートの確認に役立ちます。

システム製造元およびシステムモデル

コンピュータの製造元とモデル番号が表示されます。ハードウェアのサポートやドライバの更新を行う際に必要です。

BIOSバージョン

システムのBIOSバージョンが表示されます。BIOSのアップデートが必要かどうかを判断する際に役立ちます。

Windows ディレクトリおよびシステム ディレクトリ

Windowsがインストールされているディレクトリと、システムファイルが保存されているディレクトリが表示されます。システム管理やトラブルシューティングに役立ちます。

ブート デバイス

システムが起動するデバイスが表示されます。通常、これはハードディスクやSSDですが、ネットワークブートの場合は異なる情報が表示されることがあります。

システム起動日時とタイムゾーン

システム起動時間(System Boot Time)は、起動した日時を示す項目です。起動処理に何秒かかったか、現在時刻が何時かを示す項目ではありません。タイムゾーンも確認し、ログの時刻と比較するときに取り違えないようにします。

合計物理メモリおよび使用可能な物理メモリ

システムにインストールされている物理メモリの総量と、現在使用可能なメモリ量が表示されます。システムのパフォーマンスやメモリ管理の確認に使用します。

ページ ファイルの合計サイズおよび使用可能サイズ

ページファイル(仮想メモリ)の総量と使用可能なサイズが表示されます。メモリ管理やパフォーマンスの最適化に役立ちます。

ドメインおよびログオン サーバー

システムが所属しているドメインと、ログオンに使用されているサーバーが表示されます。ネットワーク管理やドメインのトラブルシューティングに使用します。

ホットフィックス

インストールされているホットフィックス(修正プログラム)の一覧が表示されます。セキュリティ更新やバグ修正の確認に役立ちます。

ネットワーク アダプター情報

インストールされているネットワークアダプターの詳細が表示されます。ネットワーク接続の確認やトラブルシューティングに役立ちます。

このように、「systeminfo」コマンドの出力内容を詳細に理解することで、システムの状態を正確に把握し、適切な対策を講じることができます。次に、出力結果をフィルタリングして必要な情報だけを取得する方法を見ていきましょう。

systeminfoコマンドのフィルタリング

「systeminfo」コマンドの出力結果は非常に詳細であるため、必要な情報だけを効率的に取得するためにフィルタリングを行うことができます。ここでは、特定の情報を抽出する方法を説明します。

findstrコマンドの使用

「findstr」コマンドを組み合わせて、「systeminfo」の出力から特定の情報を抽出する方法を紹介します。これにより、必要な項目のみを表示できます。

特定のキーワードでフィルタリング

例えば、システムのOSバージョン情報だけを取得したい場合、以下のコマンドを使用します:

systeminfo | findstr /C:"OS 名"

このコマンドは、「systeminfo」の出力から「OS 名」が含まれる行だけを表示します。

複数のキーワードでフィルタリング

複数の情報を一度に取得したい場合は、複数のキーワードを指定します:

systeminfo | findstr /C:"OS 名" /C:"システム製造元" /C:"BIOS バージョン"

このコマンドは、「OS 名」「システム製造元」「BIOS バージョン」が含まれる行を全て表示します。

findコマンドの使用

「find」コマンドもフィルタリングに使用できます。これは、「findstr」よりも簡単なフィルタリングに適しています。

シンプルなフィルタリング

例えば、メモリ情報だけを抽出する場合:

systeminfo | find "メモリ"

このコマンドは、「メモリ」が含まれる全ての行を表示します。

応用例:特定の日時でフィルタリング

システムの起動時間やインストール日を特定するための例を示します:

systeminfo | findstr /C:"システム起動時間" /C:"インストール日"

このコマンドは、システムの起動時間とインストール日が含まれる行を表示します。

抽出は一致した行だけが残る

findstrは一致する行を選ぶため、ホットフィックスやネットワークアダプターの見出しを指定しても、その下の一覧まで自動で含まれるわけではありません。複数行の項目は全文を保存するか、目的に合ったPowerShellのプロパティを使います。見出し表記は言語で変わるため、日本語の抽出文字列が英語環境で一致しない点にも注意してください。

応用例1:システム情報をファイルへ保存する

まず書き込み可能なフォルダーで次を実行します。日時ごとに残す場合は別名を使い、同名ファイルの上書きに注意します。

systeminfo > systeminfo.txt
systeminfo /fo csv > systeminfo.csv

日時付きの保存を自動化するなら、PowerShellで次のように作業フォルダーへ保存できます。これは実行例であり、定期実行を自動で登録するものではありません。

$stamp = Get-Date -Format 'yyyyMMdd_HHmmss'
systeminfo | Set-Content -Encoding UTF8 -Path ".\systeminfo_$stamp.txt"

タスクスケジューラで定期実行する場合は、実行ユーザー、書き込み権限、保存先の絶対パス、保持期間を確認します。先に手動で実行して出力を確かめてから登録し、不要な高権限や資格情報の直書きは避けてください。

応用例2:トラブルシューティング

「systeminfo」コマンドは、システムの問題を特定し、トラブルシューティングを行う際にも非常に有用です。ここでは、「systeminfo」を使用して一般的なシステムの問題を解決する方法を紹介します。

システムのパフォーマンス低下の診断

システムのパフォーマンスが低下した場合、「systeminfo」コマンドを使用して、メモリの容量やシステムの起動日時を確認できます。CPU使用率の測定は別のツールで行います。

メモリ使用状況の確認

以下のコマンドを使用して、システムの物理メモリ情報を取得します:

systeminfo | findstr /C:"物理メモリ"

この出力により、システムに搭載されているメモリ量と現在使用可能なメモリ量を確認できます。これにより、メモリ不足がパフォーマンス低下の原因かどうかを判断できます。

システムの起動日時を確認する

日本語環境の表示に合わせて、次のように起動日時の行を抽出できます。実際の項目名が異なる場合は無加工の出力を確認します。

systeminfo | findstr /C:"システム起動時間"

これは起動に要した時間やCPUの稼働率を測るものではありません。起動が遅い原因をこの値だけで判断して、スタートアップ項目を無効にしないでください。

ハードウェアの問題の特定

システムが不安定な場合、ハードウェアの問題が原因であることが考えられます。「systeminfo」を使用して、システムの製造元やモデル、BIOSバージョンなどのハードウェア情報を取得し、製造元のサポートサイトで更新情報や修正パッチを確認します。

ハードウェア情報の確認

以下のコマンドを使用して、システムの製造元やモデル情報を取得します:

systeminfo | findstr /C:"システム製造元" /C:"システムモデル" /C:"BIOS バージョン"

型番と現在の版を基に、メーカーの対応情報を確認します。BIOS更新が必要かは症状と適用条件を照合し、単に新しい版があるという理由だけで実行しません。

ネットワークの問題の診断

ネットワーク接続に問題がある場合、「systeminfo」を使用してネットワークアダプターの情報を確認します。

ネットワークアダプター情報の確認

アダプターの見出し行だけをfindstrで残すと、IPアドレスなど配下の情報が落ちます。systeminfo全文のネットワーク欄を確認するか、IP・DNS・DHCP構成を調べるなら次を使います。

ipconfig /all

設定を表示するだけで、接続不良を自動修復するコマンドではありません。機器名だけを根拠にドライバーを交換せず、実際の接続状態やエラーと合わせて確認します。

セキュリティ更新の確認

システムのセキュリティを保つために、インストールされているホットフィックスを確認します。

ホットフィックスの確認

systeminfo | findstr /C:"ホットフィックス"では見出しに一致する行だけが残り、配下のKB一覧は取得できません。systeminfo全文を表示・保存し、その欄を確認してください。

表示された一覧だけで、すべての製品の更新が適用済みと判断しないでください。Windows Updateの履歴、OSビルド、対象KBの公式情報も照合します。

systeminfoの高度なオプション

「systeminfo」コマンドには、出力をより細かく制御するための高度なオプションがいくつかあります。これらのオプションを利用することで、特定の情報にアクセスしやすくなり、システム管理をさらに効率化できます。

出力のリダイレクト

「systeminfo」コマンドの出力をファイルにリダイレクトすることで、後で参照したり、他のツールで解析したりすることができます。

出力をテキストファイルに保存

次のコマンドを使用して、「systeminfo」の出力をテキストファイルに保存します:

systeminfo > systeminfo_output.txt

このコマンドを実行すると、現在のディレクトリに「systeminfo_output.txt」というファイルが作成され、そこに出力結果が保存されます。

CSVを経由してJSONへ変換する

通常のsysteminfo表示は複数行の項目を含み、ConvertFrom-StringDataが期待するキーと値の文字列形式ではありません。PowerShellではCSV出力を読み込んでからJSONへ変換します。

systeminfo /fo csv | ConvertFrom-Csv | ConvertTo-Json | Set-Content -Encoding UTF8 .\systeminfo.json

列名はWindowsの表示言語に依存し、容量や日付も元の文字列表現のままです。/nhでヘッダーを消すとこの例では正しく読み込めません。systeminfo自体がエラーになった場合は変換せず、先にコマンドのエラーを解決します。

他のツールとの統合

「systeminfo」の出力を他の管理ツールやスクリプトと統合することで、より高度なシステム管理が可能になります。

Pythonスクリプトとの統合

通常表示をコロンで分割すると、複数行の項目や行番号を誤って処理します。PythonでもCSV形式を標準ライブラリーで読み取る方法が適しています。

import csv
import io
import json
import subprocess

result = subprocess.run(
    ["systeminfo", "/fo", "csv"],
    capture_output=True, text=True, check=True
)
rows = list(csv.DictReader(io.StringIO(result.stdout)))
with open("systeminfo.json", "w", encoding="utf-8") as f:
    json.dump(rows, f, ensure_ascii=False, indent=2)

Windows上で実行する例です。出力の文字コードは実行環境に合わせて確認し、文字化け・デコードエラーがある場合は適切なencodingを指定してください。PowerShell例は単一オブジェクト、こちらはレコードの配列を保存するため、後続処理側も形式を合わせます。

タスクスケジューラで保存する場合の入力欄

[プログラムの開始]では実行ファイルと引数を分けます。たとえば既に作成済みで書き込み可能なC:\SystemInfoReportsへ保存する場合、[プログラム/スクリプト]はcmd.exe、[引数の追加]は次のようにします。

/c systeminfo > "C:\SystemInfoReports\DailyReport.txt"

この例は毎回同じファイルを上書きします。履歴が必要なら日時付き保存にし、実行ユーザーで保存先へ書けるか、タスクの実行結果と生成ファイルの両方を確認します。

systeminfoの代替ツール

「systeminfo」コマンドは便利なツールですが、他にもシステム情報を取得するための有力なツールやコマンドがあります。ここでは、いくつかの代替ツールを紹介します。

PowerShellのGet-ComputerInfo

PowerShellの「Get-ComputerInfo」コマンドレットは、システム情報を取得するための強力な代替手段です。より詳細な情報を提供し、スクリプトでの処理がしやすいのが特徴です。

基本的な使用方法

以下のコマンドを使用して、システム情報を取得できます:

Get-ComputerInfo

このコマンドは、オペレーティングシステム、ハードウェア、ネットワークなどに関する詳細な情報を出力します。

特定の情報を取得

特定の項目だけを取得するには、以下のようにプロパティを指定します:

Get-ComputerInfo | Select-Object CsName, OsName, WindowsVersion, WindowsBuildLabEx

このコマンドは、システム名、OS名、Windowsのバージョン、ビルド情報を取得します。

WMICではなくGet-CimInstanceを使う

WMICは非推奨となり、対応中のWindows 11から削除されています。古い記事のwmicコマンドが動かない場合、非公式な実行ファイルを入れ直すのではなくPowerShellのCIMコマンドへ移行します。WMIそのものがなくなったわけではありません。

Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, BuildNumber, OSArchitecture
Get-CimInstance Win32_ComputerSystem | Select-Object Manufacturer, Model, Name, TotalPhysicalMemory

物理メモリなどの単位や型はコマンドごとに異なります。systeminfoの表示文字列を処理するより、必要なプロパティだけ取得する方がスクリプトを作りやすい場合があります。

System Information Tool (msinfo32)

「msinfo32」は、グラフィカルユーザーインターフェース(GUI)を持つシステム情報ツールです。コマンドラインではなくGUIを使用したい場合に便利です。

msinfo32の起動方法

  1. 「スタートメニュー」を開き、「msinfo32」と入力し、Enterキーを押します。
  2. 「システム情報」ウィンドウが表示され、詳細なシステム情報が確認できます。

Third-Party Tools

サードパーティ製のツールも、詳細なシステム情報を提供します。以下は、その一部です。

Speccy

Speccyは、詳細なシステム情報を提供する無料のツールです。CPU、RAM、マザーボード、グラフィックカードなどの情報を視覚的に表示します。

CPU-Z

CPU-Zは、特にプロセッサやメモリに関する詳細な情報を提供するツールです。システムのハードウェア構成を迅速に把握するのに適しています。

まとめ

「systeminfo」コマンドに加えて、PowerShellの「Get-ComputerInfo」やGet-CimInstance、「msinfo32」、およびサードパーティ製のツールを使用することで、システム情報をさらに詳細に取得し、管理することができます。これらのツールを適切に組み合わせることで、システム管理の効率を大幅に向上させることができます。

まとめ

「systeminfo」コマンドは、Windowsシステムの詳細な情報を迅速かつ簡単に取得できる強力なツールです。基本的な使い方から高度なオプション、フィルタリング方法、さらには自動化とレポート生成まで、多くの場面で役立ちます。加えて、PowerShellの「Get-ComputerInfo」やGet-CimInstance、「msinfo32」などの代替ツールを使用することで、さらに詳細な情報取得や管理が可能になります。

これらのツールを適切に活用することで、日常のシステム管理やトラブルシューティングを効率化し、システムのパフォーマンスとセキュリティを維持できます。多様なツールとその機能を理解し、適切に使いこなすことで、システム管理者としてのスキルを向上させることができるでしょう。

参照した公式情報

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次