Windows 11 24H2向け HWID .bat の代替手段
従来のwmicベースのHWIDバッチコマンドをPowerShell CIMクエリに置き換えるか、複合SHA-256ハードウェアIDを作成するポータブルWindowsユーティリティを使用しましょう。
HWID Checker · 2026年8月24日 · 2 分で読めます
wmic diskdrive get serialnumber、wmic cpu get serialnumber、wmic bios get serialnumber、wmic baseboard get serialnumber、wmic 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チェッカーに貼り付けてください — すべてブラウザ内で実行されます。