バッチコマンドでシリアル番号やPCモデル、CUPの型番、OS情報を取得する方法

バッチコマンドでシリアル番号やPCモデル、CUPの型番、OS情報を取得する方法

バッチコマンドでPCやCUPの型番、シリアル番号等を取得する

PCの型番やメーカーをプログラムから取得して判別する必要があったので、バッチコマンドで取得する方法を調べました。

WMI(Windows Management Instrumenta) という Windows OS のシステム管理用インターフェースを使って取得します。wmic.exe というコマンドラインツールがOSに付属しているので、これを使って WMI を操作していきます。

wmic を使えばいろいろな情報が取得できるのですが、ここでは PC製品情報と CPU の情報に絞って取得方法をまとめます。

以下、Surface Pro 6 (Windows 10) で実行したときの結果を例として載せています。

wmic を使ってPCの製品情報を取得

wmic csproduct get XXX というコマンドで製品情報(csproduct)が取得できます。"XXX" に入るのがほしいデータの名前です。

ベンダー名

$ wmic csproduct get Vendor
Vendor
Microsoft Corporation

モデル名(型番)

$ wmic csproduct get Name
Name
Surface Pro 6

シリアル番号(伏字にしてます。)

$ wmic csproduct get IdentifyingNumber
IdentifyingNumber
XXXXXXXXXXXX

以上のような形でそれぞれ取得可能です。できれば値だけがすぱっと返されてほしいですが、キーと値が改行区切りで取得されるので、プログラム側で切り出して利用しましょう。

まとめて取得

3つまとめて一覧でほしいときはカンマ区切りで列挙することも可能です。

$ wmic csproduct get Name,Vendor,IdentifyingNumber
IdentifyingNumber  Name           Vendor
010160691853       Surface Pro 6  Microsoft Corporation

とりあえず全部一括取得

一覧取得したいグループ(例えば csproduct)を指定して項目を指定しないと、データを一括で取得してくれます。

$ wmic csproduct get
Caption                  Description              IdentifyingNumber  Name           SKUNumber  UUID                                  Vendor                 Version
Computer System Product  Computer System Product  XXXXXXXXXXXX       Surface Pro 6             XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  Microsoft Corporation  X:XX:XXX:XX:XXX:XXX:XXX:X

wmic:root\cli>

ハードウェア、OS関連の情報を取得

製品情報以外も取得できます。ここでは各ハードウェア情報やOSの情報を取得します。

OS の名前

$ wmic os get Name
Name
Microsoft Windows 10 Pro|C:\windows|\Device\Harddisk0\Partition3

CPU の名前

$ wmic CPU get Name
Name
Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz

CPUコア数

$ wmic CPU get NumberOfCores
NumberOfCores
4

CPU論理コア数

$ wmic CPU get NumberOfLogicalProcessors
NumberOfLogicalProcessors
8

物理メモリ容量

$ wmic computersystem get TotalPhysicalMemory
TotalPhysicalMemory
8511287296

Surface Pro 6 の 8GB モデルで確認しました。

ドライブの空き容量

ドライブごとの空き容量を確認します。

$ wmic logicaldisk get deviceid,freespace
DeviceID  FreeSpace
C:        204532027392

ドライブを指定してそのデータのみ切り出すには以下のようにします。

$ wmic logicaldisk get deviceid,freespace | find "C:"
C:        204531322880

以上です。

参考URL

Windowsカテゴリの最新記事