コマンドプロンプトでPCのメーカー名・型番・シリアルナンバーを取得するWMICコマンドとバッチファイル
メーカー名を判別するコマンドを探していたらあった
PCのメーカー名を判別して処理を分けるバッチファイルを作成しなければならない状況があり、WMICコマンドを使えば必要な情報を取得できることが分かったのでメモ。
WMIC CSPRODUCTコマンド
Windowsのコマンドラインツール「WMIC.exe」を使用すればPCのハードウェアやソフトウェアの情報がいろいろ取得できます。WMICの中でもCSPRODUCT
を使ってコマンドプロンプトで実行すれば、PCのベンダー名(メーカー)、モデル名(型番)、シリアル番号等を確認・表示することができます。
すべての情報を表示する
とりあえずCSPRODUCT
で表示できるすべての情報を表示します。
メーカー名(ベンダー名)を表示する
wmic csproduct get Vendor
|
モデル名(型番)を表示する
シリアル番号(製造番号)を表示する
wmic csproduct get IdentifyingNumber
|
複数を選択して表示する
CSPRODUCT
で取得できる情報の中で、メーカー名、型番、シリアル番号の3つに絞って複数を確認したいときはカンマで区切れば一度にまとめて確認できます。
wmic csproduct get Name,Vendor,IdentifyingNumber
|
コマンドの実行例
富士通製の Windows 7 のPCで実行した例

自作の Windows 10 のPCで実行した例
全て「To Be Filled By O.E.M.」となっている。

バッチファイル例
富士通製PCと、そうでなない場合を判別する例
@ echo off
wmic csproduct get Vendor| findstr "FUJITSU"
if %errorlevel% equ 0 (
echo 富士通製のPCです。
) else (
echo 富士通製のPCではありません。
)
pause
|
取得したベンダー名(メーカー名)を変数に入れて判別する例
@ echo off
for /f "tokens=2 usebackq delims=^:" %%i in (`wmic csproduct get Vendor ^| findstr /n /r "." ^| findstr /r "^2:" `) DO @ set Get_Vendor= %%i
call :Trim %Get_Vendor%
echo .
echo %Get_Vendor%
echo .
if "%Get_Vendor%" == "FUJITSU" (
echo 富士通製のPCです。
) else (
echo 富士通製のPCではありません。
)
echo .
pause
:Trim
set Get_Vendor= %*
|
SYSTEMINFOコマンドから取得する場合
FOR文の部分を以下のようにすれば、SYSTEMINFOを実行したときに表示される「システム製造元」の値からベンダー名を取得できます。SYSTEMINFOは情報の取得に時間がかかるので、同じ値を取得するならWMICの方が速いです。
for /f "tokens=1,2* usebackq delims=^:" %%i in (` systeminfo ^| findstr /n /r "." ^| findstr /r "^13:" `) DO @ set Get_Vendor= %%k
|
その他参考サイト