本文へスキップ
HWID Checker
hwidwindowswmictutorial

Windows 11 24H2向け HWID .bat の代替手段

従来のwmicベースのHWIDバッチコマンドをPowerShell CIMクエリに置き換えるか、複合SHA-256ハードウェアIDを作成するポータブルWindowsユーティリティを使用しましょう。

HWID Checker · 2026年8月24日 · 2 分で読めます

wmic diskdrive get serialnumberwmic cpu get serialnumberwmic bios get serialnumberwmic baseboard get serialnumberwmic csproduct get uuidを実行するhwidChecker.batスクリプトを使用している場合、新しいWindows 11インストール環境では失敗する可能性があります。wmic.exeは非推奨となり、Windows 11 24H2ではWMICのFeature on Demandがデフォルトで無効化されています。PowerShell CIMコマンドレットがサポート対象の代替手段です。

本記事では変更内容を説明し、サポート対象のPowerShell代替コマンドを紹介し、wmicなしで複合レポートを作成するローカルWindowsユーティリティをご案内します。

.batスクリプトの動作

このスクリプトはシンプルで、古いWindowsでは問題なく機能します:

@ECHO OFF
wmic diskdrive get model, serialnumber
wmic cpu get serialnumber
wmic bios get serialnumber
wmic baseboard get serialnumber
wmic path win32_computersystemproduct get uuid
getmac

ネットワークリクエストなしで複数のハードウェア関連値とMACアドレスを出力しようとします。現在の主な制限は互換性です。スクリプトが依存するコマンドは非推奨で、インストールされていない可能性があります。

動作しなくなる理由

wmic.exe(Windows Management Instrumentation Command-line)はWindows 10 21H1以降非推奨です。Windows 11 24H2では、WMICはデフォルトで無効化されたオプションのFeature on Demandです。Microsoftの移行ガイドでは、代わりにPowerShell CIMコマンドレットまたはプログラム的なWMI APIを使用することが推奨されています。

新しい24H2インストール環境でスクリプトを実行すると、次のように表示されます:

'wmic' is not recognized as an internal or external command,
operable program or batch file.

オプション機能からwmicを手動でインストールすることも可能ですが、それは回避策であり修正ではありません — Microsoftは将来のリリースで完全に削除すると述べています。

PowerShellによる代替(ダウンロード不要)

.batスクリプトと同じ出力が必要な場合、各wmic行を同等のPowerShell CIMコマンドレットに置き換えてください。PowerShellを開き、以下を貼り付けます:

# ディスクシリアル(置換元: wmic diskdrive get model, serialnumber)
Get-CimInstance Win32_DiskDrive | Select-Object Model, SerialNumber

# CPU(置換元: wmic cpu get serialnumber)
Get-CimInstance Win32_Processor | Select-Object Name, ProcessorId

# BIOSシリアル(置換元: wmic bios get serialnumber)
Get-CimInstance Win32_BIOS | Select-Object SerialNumber

# マザーボードシリアル(置換元: wmic baseboard get serialnumber)
Get-CimInstance Win32_BaseBoard | Select-Object SerialNumber

# SMBIOS UUID(置換元: wmic csproduct get uuid)
Get-CimInstance Win32_ComputerSystemProduct | Select-Object UUID

# MACアドレス(置換元: getmac)
Get-NetAdapter | Select-Object Name, MacAddress

これらのコマンドはWindows 10から11 24H2以降のすべてのバージョンで動作します。内部では同じWMIデータを使用していますが、非推奨のwmic.exeラッパーではなくモダンなPowerShell API経由でアクセスします。

旧.batのようなワンクリックスクリプトにしたい場合は、.ps1ファイルとして保存してください:

# hwid-checker.ps1 — hwidChecker.batのモダンな代替
Clear-Host
Write-Host "=== HWID Checker ===" -ForegroundColor Cyan
Write-Host ""
Write-Host "Disk drives:" -ForegroundColor Yellow
Get-CimInstance Win32_DiskDrive | Format-Table Model, SerialNumber -AutoSize
Write-Host "CPU:" -ForegroundColor Yellow
Get-CimInstance Win32_Processor | Format-Table Name, ProcessorId -AutoSize
Write-Host "BIOS:" -ForegroundColor Yellow
Get-CimInstance Win32_BIOS | Format-Table SerialNumber -AutoSize
Write-Host "Motherboard:" -ForegroundColor Yellow
Get-CimInstance Win32_BaseBoard | Format-Table SerialNumber -AutoSize
Write-Host "SMBIOS UUID:" -ForegroundColor Yellow
Get-CimInstance Win32_ComputerSystemProduct | Format-Table UUID -AutoSize
Write-Host "Network adapters:" -ForegroundColor Yellow
Get-NetAdapter | Format-Table Name, MacAddress -AutoSize
Write-Host ""
Write-Host "Press any key to exit..." -ForegroundColor Gray
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')

.ps1ファイルを右クリックし、PowerShellで実行を選択してください。

.batスクリプトのもう一つの制限:ハッシュなし

.batスクリプトが機能していた頃でも、生のシリアル番号を出力するだけでした。誰かに「あなたのHWID」を求められた場合、5つの別々の値をどう扱うか自分で考える必要がありました。ほとんどのライセンスおよびアンチチートシステムは複数のシリアルを単一のハッシュに結合します — .batスクリプトはそのステップを行ってくれません。

.batのすべてを行う(そしてそれ以上の)無料ツール

旧.batと同じワンクリックのシンプルさに加え、SHA-256ハッシュ、ファイルへのエクスポート、wmic依存なしを実現したい場合は、HWID Checker for Windowsをダウンロードしてください。インストーラ不要の約2.4 MBのポータブル.exeです。

# hwid-checker.exeをダブルクリック — 旧.batと同じですが:
# - Windows 11 24H2で動作(wmic不要)
# - 5つではなく10以上の識別子を読み取る
# - それらを単一のSHA-256 HWIDに結合
# - -save / -jsonで.txtまたはJSONにエクスポート

.batスクリプトにはなくHWID Checkerが読み取る識別子:

| 識別子 | .batスクリプト | HWID Checker | | --- | --- | --- | | ディスクシリアル | ✓ | ✓ | | BIOSシリアル | ✓ | ✓ | | マザーボードシリアル | ✓ | ✓ | | SMBIOS UUID | ✓ | ✓ | | MACアドレス | ✓(getmac経由) | ✓ | | CPU ProcessorId | ✗(cpu get serialnumberはProcessorIdではない) | ✓ | | Windows MachineGuid | ✗ | ✓ | | ボリュームシリアル | ✗ | ✓ | | RAMシリアル | ✗ | ✓ | | シャーシシリアル | ✗ | ✓ | | WindowsプロダクトID | ✗ | ✓ | | SHA-256複合ハッシュ | ✗ | ✓ | | ファイルへエクスポート | ✗ | ✓ | | wmic依存なし | ✗ | ✓ |

このWindowsユーティリティは読み取り専用です。ローカル識別子を照会し、結果を表示し、エクスポートを要求した場合のみレポートを書き出します。

どちらを使うべき?

| 状況 | 推奨 | | --- | --- | | 今すぐ一度だけシリアルを確認したい | 上記のPowerShellワンライナー — ダウンロード不要 | | HWIDハッシュが必要(ライセンス、サポート等) | ツールをダウンロード — ハッシュ化を代行 | | Windows 11 24H2で.batが動かなくなった | PowerShellワンライナー、またはツール | | 旧.batのような再利用可能なスクリプトが欲しい | 上記の.ps1スクリプトを保存 | | エクスポートや自動化が必要 | ツールの-jsonフラグ |

まとめ

hwidChecker.batの手法は、Windows 11 24H2でデフォルト無効化された非推奨のオプションコンポーネントに依存しており、サンプルスクリプトには複合ハッシュやエクスポートワークフローがありません。個別の値には上記のPowerShellコマンドを、ローカルレポートとJSONまたはテキストエクスポートにはWindowsユーティリティをご使用ください。

何もダウンロードせずに誰かから送られたHWID文字列を確認したいですか?オンラインHWIDチェッカーに貼り付けてください — すべてブラウザ内で実行されます。