Windows 11でwmic csproduct get uuidが動作しない場合:原因と解決方法
Windows 11で「wmic csproduct get uuid」が動作しない問題を解決。WMICがなくなった理由、PowerShellによる代替方法、空欄・全ゼロ・WMIエラーの診断方法を解説します。
HWID Checker · 2026年8月28日 · 4 分で読めます
Windows 11でwmic csproduct get uuidが動作しない場合、2026年時点で最も可能性が高い原因は、UUIDの破損やアクセス許可の問題ではありません。Microsoftが、現在のWindows 11 24H2および25H2環境からwmic.exeコマンドラインユーティリティを削除したためです。基盤となるWindows Management Instrumentation(WMI)システムとWin32_ComputerSystemProductクラスは引き続き存在するため、サポートされている解決方法は、PowerShellから同じデータを照会することです。
Get-CimInstance -ClassName Win32_ComputerSystemProduct |
Select-Object -ExpandProperty UUID
このコマンドはWMICに依存せず、ファームウェアが提供するSMBIOSシステムUUIDを返します。UUIDが返れば、WMIプロバイダーとファームウェアデータは正常であり、古いコマンドラインクライアントだけがなくなっています。全ゼロ、空の値、またはCIMエラーが返る場合は、WMICの再インストールを繰り返すのではなく、以下の診断セクションを参照してください。
本ガイドは、2026年8月28日に確認したMicrosoftの公開ドキュメントを反映しています。混同されがちな4つの問題、すなわちWMIC実行ファイルがない場合、WMIの障害、無効なファームウェアデータ、スクリプトまたはシェルの問題を切り分けて説明します。
クイック診断
表示された結果に応じて、適切な対処方法を確認してください。
| 結果またはエラー | 最も可能性の高い原因 | 適切な次の手順 |
|---|---|---|
'wmic' is not recognized as an internal or external command | wmic.exeがインストールされていないか、削除されている | Get-CimInstanceを使用する。新しいスクリプトをWMIC前提で作成しない |
PowerShellでwmic : The term 'wmic' is not recognized | 同じく実行ファイルがなく、PowerShellからその旨が報告されている | 以下のPowerShellによる代替方法を使用する |
4C4C4544-...のような正常なUUID | 照会は成功している | SMBIOS UUIDが本当に必要な識別子か確認する |
00000000-0000-0000-0000-000000000000 | ファームウェアから使用可能なSMBIOS UUIDが提供されていない | BIOS/UEFI、およびコンピューターまたはVMのメーカーを確認する |
| 空欄または一般的なプレースホルダー | ファームウェアまたは仮想化プラットフォームから不正なデータが提供されている | 他のSMBIOSフィールドと比較し、OEMまたはVM管理者に問い合わせる |
Invalid class、Provider load failure、またはその他のGet-CimInstanceエラー | より広範なWMI/プロバイダーの問題 | WMI全般をテストし、WMI-Activityログを調べる |
リモート照会時のAccess denied | WMI/CIMのアクセス許可またはリモート管理の構成 | 認証済みのCIMセッションを使用する。ローカルUUIDの読み取りでは通常、リモート構成は不要 |
Windows 11でwmic csproduct get uuidが動作しなくなった理由
このコマンドは、関連する3つの要素から成り立っています。
wmicは、従来のWindows Management Instrumentationコマンドラインユーティリティを起動します。csproductは、WMIクラスWin32_ComputerSystemProductに対するWMICのエイリアスです。get uuidは、そのクラスの読み取り専用UUIDプロパティを要求します。
通常、失敗するのは最初の要素です。MicrosoftはWindows 10バージョン21H1でWMICを非推奨とし、代替としてPowerShell for WMIを指定しました。また、Microsoftは重要な違いを明確にしています。非推奨となり削除されたのはWMICユーティリティであり、WMI自体ではありません。
Microsoftの現行のWMICリファレンスには、2026年8月以降、Windows 11バージョン24H2および25H2にWMICは含まれず、オンデマンド機能として追加し直すこともできないと記載されています。MicrosoftのWindowsで非推奨となった機能の一覧にも、同じ2026年8月の更新内容が示されており、この削除はWindows 11 24H2以降に適用されると説明されています。
次の経緯を踏まえると、古いフォーラム投稿の助言が現在では誤っている場合がある理由が分かります。
- 当初、WMICはWindowsに標準搭載されていました。
- MicrosoftはWindows 10 21H1でWMICを非推奨としましたが、非推奨化と同時に削除されたわけではありません。
- 初期のWindows 11リリースではオプションのオンデマンド機能となり、既定で無効になる場合がありました。
- 現在のWindows 11 24H2および25H2のサービス提供状態では、MicrosoftによるとWMICは削除され、オンデマンド機能としても利用できなくなっています。
したがって、すべてのWindows 11ユーザーに対して「オプション機能」またはDISMからWMIC~~~~をインストールするよう案内する手順は、もはや一般的には有効ではありません。古いビルドには当てはまる可能性がありますが、2026年における持続可能な解決策ではありません。
サポートされている代替手段:Get-CimInstance
Windows PowerShellまたはPowerShellを開き、次を実行します。
Get-CimInstance -ClassName Win32_ComputerSystemProduct |
Select-Object -ExpandProperty UUID
短く書くと、次と同じです。
(Get-CimInstance Win32_ComputerSystemProduct).UUID
UUIDをメーカー情報および製品情報とともに表示して、状況を確認するには、次を実行します。
Get-CimInstance -ClassName Win32_ComputerSystemProduct |
Select-Object Vendor, Name, IdentifyingNumber, UUID
MicrosoftはGet-CimInstanceを、CIMクラスのインスタンスを取得するコマンドレットとして説明しています。-ComputerNameや-CimSessionを指定しないローカル照会では、ローカルWMIに対して動作します。つまり、無関係な値を読み取る回避策ではなく、同じWindows管理基盤をサポート対象のクライアントから照会する方法です。
スクリプト用に値だけを返す
従来のWMIC出力にはUUIDという見出しが含まれます。識別子だけを取得するには、-ExpandPropertyを使用します。
$uuid = Get-CimInstance -ClassName Win32_ComputerSystemProduct |
Select-Object -ExpandProperty UUID
$uuid
引き続き1行の出力が必要なバッチファイルでは、WMICではなくPowerShellを呼び出します。
@echo off
for /f "usebackq delims=" %%U in (`powershell.exe -NoProfile -Command "(Get-CimInstance -ClassName Win32_ComputerSystemProduct).UUID"`) do set "SYSTEM_UUID=%%U"
echo %SYSTEM_UUID%
新しい自動化処理には、PowerShellスクリプトの方が明快です。
$uuid = (Get-CimInstance -ClassName Win32_ComputerSystemProduct).UUID
if ([string]::IsNullOrWhiteSpace($uuid) -or
$uuid -eq "00000000-0000-0000-0000-000000000000") {
throw "The firmware did not provide a usable SMBIOS system UUID."
}
$uuid.ToUpperInvariant()
コマンドが正常に実行されても、ファームウェアから提供された値が使用不能な場合があるため、この検証は重要です。
このコマンドが返すUUIDとは
Win32_ComputerSystemProduct.UUIDは、WMICが生成するランダムな識別子ではなく、WindowsインストールのMachineGuidでもありません。MicrosoftのWin32_ComputerSystemProductドキュメントによると、このプロパティはSMBIOS Type 1 UUIDに対応し、ファームウェアのSystem Information構造体にあるUUIDメンバーから取得されます。
データの流れは、おおむね次のとおりです。
BIOS/UEFI firmware or VM platform
↓
SMBIOS Type 1 System Information UUID
↓
Windows CIMWin32 provider
↓
Win32_ComputerSystemProduct.UUID
↓
Get-CimInstance output
この違いを理解すると、トラブルシューティングに役立ちます。
wmicがなくてもGet-CimInstanceがUUIDを返す場合、データは正常で、削除されたのは古いクライアントだけです。- WMICがまだ存在する古いコンピューターで両方のツールが全ゼロを返す場合、コマンド構文を変更してもファームウェアUUIDは生成されません。
- マザーボードの交換後または仮想マシンのクローン後に値が変わった場合、その動作の発生源はコマンドラインツールより下位の層にあります。
Microsoftのハードウェアメーカー向けSMBIOSガイダンスでは、システムUUIDをType 1フィールドとして挙げ、SMBIOSフィールドを正しく設定することが、個々のシステムの識別と管理に役立つと説明しています。
原因1:wmicが認識されない
コマンドプロンプトでの一般的な出力:
'wmic' is not recognized as an internal or external command,
operable program or batch file.
PowerShellでの一般的な出力:
wmic: The term 'wmic' is not recognized as a name of a cmdlet,
function, script file, or executable program.
実行ファイルが利用可能か確認します。
Get-Command wmic.exe -ErrorAction SilentlyContinue
従来の配置場所も確認できます。
Test-Path "$env:WINDIR\System32\wbem\wmic.exe"
WMIC削除後の最新Windows 11 24H2または25H2システムでは、結果が返らないのが正常です。第三者のサイトからwmic.exeをむやみにダウンロードしないでください。実行ファイル単体は、安全かつサポート対象のポータブルパッケージではありません。非公式の配布元からシステムバイナリをダウンロードすると、避けられるはずのセキュリティリスクが生じます。
解決方法: コマンドをGet-CimInstanceに置き換えてください。ベンダー提供のアプリケーションが依然としてwmic.exeを必要とする場合は、アプリケーションを更新するか、サポート対象バージョンについてベンダーに問い合わせてください。
原因2:コマンドは実行できるが全ゼロが返る
次の結果が返る場合があります。
UUID
00000000-0000-0000-0000-000000000000
Microsoftは、UUIDを利用できない場合、Win32_ComputerSystemProduct.UUIDが全ゼロのUUIDを使用することを明記しています。これは照会が成功し、利用できない値が返された状態であり、WMICやPowerShellの不具合を示すものではありません。
一般的な原因は次のとおりです。
- ファームウェアでSMBIOS Type 1 UUIDが設定されていない
- OEMのプレースホルダー、または製造時の書き込みエラー
- SMBIOSデータが不完全な自作PC用または古いマザーボード
- 仮想化プラットフォームからシステムUUIDが割り当てられていない仮想マシン
- 一般的なIDまたは重複したIDを維持したままのクローン済みVMテンプレート
- 公開されるSMBIOSフィールドを変更したファームウェア設定または更新
関連するフィールドを確認します。
Get-CimInstance Win32_ComputerSystemProduct |
Format-List Vendor, Name, Version, IdentifyingNumber, UUID
Get-CimInstance Win32_BIOS |
Format-List Manufacturer, SMBIOSBIOSVersion, SerialNumber
Get-CimInstance Win32_BaseBoard |
Format-List Manufacturer, Product, SerialNumber
これらのフィールドも空欄であるか、To Be Filled By O.E.M.のような値が含まれている場合、ファームウェアデータに問題がある可能性が高いと考えられます。デバイスまたはマザーボードのメーカーが提供するBIOS/UEFI更新を確認してください。管理対象VMでは、ハイパーバイザーのUUID構成を確認します。Webサイトやスクリプトに結果を受け入れさせるためだけにファームウェア識別子を編集しないでください。対応する代替識別子について、ソフトウェアベンダーに問い合わせてください。
原因3:PowerShellでも失敗する
Get-CimInstanceからエラーが報告される場合は、障害が1つのクラスに限られるのか、WMI全般に及ぶのかを特定します。
手順1:別のコアクラスをテストする
Get-CimInstance -ClassName Win32_OperatingSystem |
Select-Object Caption, Version, BuildNumber
- これが動作し、
Win32_ComputerSystemProductだけが失敗する場合は、CIMWin32プロバイダーまたはクラスデータに絞って調査します。 - 両方とも失敗する場合は、WMIサービス、リポジトリ、アクセス許可、またはプロバイダーの正常性を調査します。
手順2:WMIサービスを確認する
Get-Service -Name winmgmt
通常、このサービスは実行中であるか、管理クライアントの接続時に起動します。MicrosoftはwinmgmtをWMIサービスであり、Windowsの中核コンポーネントであると説明しています。無関係な管理エラーを抑える目的で無効にしないでください。
手順3:正確なエラーコードを取得する
try {
Get-CimInstance -ClassName Win32_ComputerSystemProduct -ErrorAction Stop |
Select-Object UUID
} catch {
$_ | Format-List * -Force
}
調査時に区別すべき主なエラーは次のとおりです。
| エラー | 調査すべき内容 |
|---|---|
0x80041010 / Invalid class | クラス登録、名前空間、またはプロバイダーの問題 |
0x80041003 / Access denied | 名前空間/プロバイダーのアクセス許可、またはセキュリティポリシー |
0x80041013 / Provider load failure | プロバイダー登録、依存関係、またはシステム破損の問題 |
0x800706BA / RPC server unavailable | 通常はリモート接続、RPC、ファイアウォール、またはサービスの可用性 |
ローカル照会では、必要に応じて文書化された名前空間を明示的に指定します。
Get-CimInstance -Namespace root/cimv2 -ClassName Win32_ComputerSystemProduct
手順4:WMIの運用イベントを調べる
イベントビューアーを開き、次の場所に移動します。
Applications and Services Logs
Microsoft
Windows
WMI-Activity
Operational
MicrosoftのWMI接続とアクセスに関するトラブルシューティングガイドでは、WMI障害に関係する操作、プロバイダー、クライアントプロセス、エラーを特定するために、このログを使用することを推奨しています。
手順5:障害が広範囲に及ぶ場合に限りリポジトリを検証する
管理者権限でコマンドプロンプトを開き、次を実行します。
winmgmt /verifyrepository
リポジトリに整合性があるとWindowsから報告された場合は、リセットしないでください。不整合が報告された場合は、修復用スイッチを使用する前に、Microsoftのトラブルシューティング手順に従うか、管理者のサポートを受けてください。
MicrosoftのWMIトラブルシューティングガイダンスでは、最初の対処としてWMIリポジトリを削除するとWindowsやインストール済みアプリケーションが破損する可能性があるため、明確に警告しています。wmic.exeがないだけの場合に、リポジトリフォルダーを無計画に名前変更する、すべてのMOFファイルを再コンパイルする、またはwinmgmt /resetrepositoryを実行するのは過剰な対応です。
原因4:対話形式では代替コマンドが動作するのにスクリプトが失敗する
開いているPowerShellウィンドウでは動作しても、バッチファイル、アプリケーション、サービス、タスクスケジューラ、または展開ツール内では失敗する場合があります。次の点を確認してください。
適切なシェルを使用する
Get-CimInstanceはPowerShellコマンドレットであり、コマンドプロンプトのコマンドではありません。通常のcmd.exeで次を実行すると失敗します。
Get-CimInstance Win32_ComputerSystemProduct
PowerShellから実行するか、バッチファイルからPowerShellを明示的に呼び出します。
powershell.exe -NoProfile -Command "(Get-CimInstance Win32_ComputerSystemProduct).UUID"
整形済みテーブルを解析しない
既定のテーブル表示から空白を抜き出すような処理は避けてください。プロパティを直接返します。
(Get-CimInstance Win32_ComputerSystemProduct).UUID
構造化された自動化処理には、次を使用します。
Get-CimInstance Win32_ComputerSystemProduct |
Select-Object Vendor, Name, UUID |
ConvertTo-Json -Compress
32ビットプロセスのリダイレクトは従来型の呼び出し元でのみ確認する
64ビットWindows上の32ビットアプリケーションでは、System32配下のツールを起動するときにファイルシステムのリダイレクトが発生する場合があります。対話形式の64ビットPowerShellセッションで通常発生する原因ではありませんが、古い管理エージェントを移行する際には影響することがあります。コピーしたWMICバイナリのパスをハードコードするのではなく、サポートされているプロセスアーキテクチャからPowerShellを呼び出してください。
リモート照会は別の問題として扱う
次のローカルコマンドは、
Get-CimInstance Win32_ComputerSystemProduct
リモートCIM/WMIアクセスが構成されているかどうかをテストするものではありません。ローカルのクラスが正常でも、資格情報、ファイアウォールポリシー、RPCまたはWS-Managementの構成が原因でリモート照会に失敗することがあります。MicrosoftのPowerShell WMIガイダンスでは、資格情報が必要な場合、シェル全体を過剰な権限で実行するのではなく、認証済みのCimSessionを使用することを推奨しています。
Windows 10でも同じ問題が発生するか
発生しますが、具体的な症状と理由は異なる場合があります。
MicrosoftはWindows 10バージョン21H1からWMICを非推奨としました。非推奨とは、そのユーティリティが推奨インターフェイスではなくなったという意味であり、すべてのWindows 10環境からwmic.exeが直ちに削除されたわけではありません。そのためWindows 10 22H2では、イメージとサービス提供状態によっては、WMICコマンドが引き続き動作する場合があります。
Microsoftによる2026年8月の削除通知では、Windows 11バージョン24H2以降が明示的に対象となっています。同じサービス変更によってすべてのWindows 10 22H2環境からWMICが削除されるとは記載されていません。実際の状況を表にまとめると、次のようになります。
| システム | 2026年時点で想定される状態 | 推奨事項 |
|---|---|---|
| Windows 11 24H2または25H2(最新のサービス提供状態) | WMICは削除済み。MicrosoftによるとFoDとして追加し直すこともできない | Get-CimInstanceを使用する |
| Windows 11 22H2または23H2 | サポート状況が古く、WMICを利用できるかどうかはイメージと更新状態による | WMICに依存せず、Get-CimInstanceを使用する |
| Windows 10 22H2 | WMICがまだ動作する場合はあるが、21H1以降は非推奨 | スクリプトを今すぐ移行する |
| カスタマイズされたWindowsイメージ | バージョン表記にかかわらず、コンポーネントがすでに存在しない場合がある | PowerShellから照会し、イメージのポリシーを確認する |
| Windows Server | リリースとインストールオプションによって利用可否が異なる | 該当リリースのドキュメントに従い、新しい自動化にはCIMコマンドレットを使用する |
Windows 10でも、全ゼロのUUID、無効なファームウェアデータ、またはWMIプロバイダーのエラーが返る場合があります。UUIDはSMBIOSファームウェアから取得され、照会はWMIによって処理されるため、これらの状態はWMICの削除とは無関係です。
Windowsのバージョンとビルドを確認するには、次を実行します。
Get-ComputerInfo |
Select-Object WindowsProductName, WindowsVersion, OsBuildNumber
またはwinverを実行します。1台のWindows 10コンピューターでWMICコマンドが成功したからといって、Windows 11や将来の管理対象イメージでも引き続き利用できる証拠にはなりません。
WMICを再インストールすべきか
Microsoftによる2026年8月の削除対象となる、現在のWindows 11 24H2および25H2システムでは、再インストールすべきではありません。Microsoftによると、WMICはオンデマンド機能として追加できなくなっています。PowerShellを使用してください。
WMICがオプション機能としてまだ利用できた古いサービス提供状態では、インストールによって従来のアプリケーションとの互換性を一時的に回復できる場合があります。それでも、あくまで移行までのつなぎであり、長期的に有効な解決策ではありません。非推奨コンポーネントの再インストールだけで修復したスクリプトは、そのコンポーネントが削除された時点で再び動作しなくなります。
次の方法は避けてください。
- 第三者のサイトから
wmic.exeやDLLファイルをダウンロードする - 別のWindows環境からWMICファイルをコピーする
- WMICを残すためにセキュリティ更新や累積更新プログラムを恒久的に延期する
Get-CimInstanceがすでに動作しているのにWMIリポジトリをリセットする- 全ゼロのUUIDを、コマンドラインクライアントを再インストールする理由とみなす
SMBIOS UUIDとHWIDは同じか
必ずしも同じではありません。wmic csproduct get uuidが返すのは、ファームウェアの1つのフィールドです。「HWID」は非公式な用語であり、製品によって次のような異なる値を指します。
- SMBIOSシステムUUID
- マザーボードまたはBIOSのシリアル番号
- ストレージデバイスのシリアル番号
- Windowsインストールの
MachineGuid - ネットワークアダプターのアドレス
- 正規化した複数フィールドから生成するベンダー固有のハッシュ
有効なSMBIOS UUIDであっても、ゲーム、ライセンスサーバー、資産管理システム、またはサポート担当者が求める識別子と同じであるとは限りません。共有する前に、必要なフィールドと形式を確認してください。
WMICを使わずにローカルの複数フィールドを確認するには、次を実行します。
$system = Get-CimInstance Win32_ComputerSystemProduct
$bios = Get-CimInstance Win32_BIOS
$board = Get-CimInstance Win32_BaseBoard
[pscustomobject]@{
SystemUUID = $system.UUID
SystemVendor = $system.Vendor
SystemProduct = $system.Name
BIOSSerial = $bios.SerialNumber
BaseBoardSerial = $board.SerialNumber
}
これらの値は、個人やアカウントに関連付けられると機密情報となる場合があります。必要な情報だけを収集し、共有してください。
管理者および開発者に推奨する移行方法
wmic csproduct get uuidを含むスクリプトを管理している場合は、Windows 11を検出してWMICの再インストールを試みるのではなく、照会方法を移行してください。
移行前
wmic csproduct get uuid
移行後:読みやすいPowerShell
Get-CimInstance -ClassName Win32_ComputerSystemProduct |
Select-Object -ExpandProperty UUID
移行後:WQL互換形式
Get-CimInstance -Query "SELECT UUID FROM Win32_ComputerSystemProduct" |
Select-Object -ExpandProperty UUID
移行後:堅牢な検証
try {
$product = Get-CimInstance -ClassName Win32_ComputerSystemProduct -ErrorAction Stop
$uuid = [string]$product.UUID
if ([string]::IsNullOrWhiteSpace($uuid)) {
throw "SMBIOS UUID is blank."
}
if ($uuid -eq "00000000-0000-0000-0000-000000000000") {
throw "SMBIOS UUID is unavailable (all-zero value)."
}
[pscustomobject]@{
UUID = $uuid.ToUpperInvariant()
Vendor = $product.Vendor
Product = $product.Name
}
} catch {
Write-Error "Unable to read the SMBIOS system UUID: $($_.Exception.Message)"
exit 1
}
多数の端末を扱うスクリプトでは、照会の失敗と、照会は成功したもののファームウェアデータが使用不能な状態を区別してログに記録してください。必要な対処方法が異なります。結果を資産管理やライセンスに使用する場合、欠落したUUIDをランダムな値で暗黙的に置き換えないでください。SMBIOSフィールドとは意味の異なる、不安定な識別情報が作られてしまいます。
よくある質問
Windows 11ではwmic csproduct get uuidの代わりに何を使えばよいですか?
次を使用します。
(Get-CimInstance -ClassName Win32_ComputerSystemProduct).UUID
サポートされているPowerShell CIMインターフェイスから、同じWMIクラスを照会します。
Windows Update後にWMICがなくなったのはなぜですか?
MicrosoftはWindows 10 21H1でWMICを非推奨とし、その後オプションのオンデマンド機能に変更しました。さらに2026年8月以降、Windows 11 24H2および25H2にはWMICが含まれず、FoDとして追加し直すこともできないと説明しています。WMI自体は引き続きサポートされています。
ローカルUUIDの読み取りに管理者権限は必要ですか?
Win32_ComputerSystemProductの基本的なローカル読み取りは、通常、標準ユーザーのPowerShellセッションで動作します。組織のポリシー、強化されたWMI名前空間のアクセス許可、またはリモートアクセスによって結果が変わる場合があります。実際のエラーがアクセス許可の問題を示し、昇格が適切な場合を除き、むやみに管理者として実行しないでください。
PowerShellでもWMICと同じ全ゼロのUUIDが返るのはなぜですか?
どちらのクライアントもWin32_ComputerSystemProduct.UUIDプロパティを照会します。Microsoftのドキュメントによると、SMBIOS UUIDを利用できない場合、Windowsは全ゼロのUUIDを返します。修正すべき箇所はコマンド構文ではなく、ファームウェア、OEM、または仮想化レイヤーです。
代わりにGet-WmiObjectを使用できますか?
古いWindows PowerShellにはGet-WmiObjectが含まれており、同じクラスを照会できます。ただし、新しいスクリプトの移行先としてはGet-CimInstanceの方が適切です。これはWMICの代替としてMicrosoftが管理者に推奨しているインターフェイスであり、自動化に適した構造化CIMオブジェクトを提供します。
wmic path win32_computersystemproduct get uuidの方がよいですか?
これはより明示的な従来のWMIC照会ですが、依然としてwmic.exeに依存しています。実行ファイルが削除された問題は解決できません。代わりにGet-CimInstanceを使用してください。
BIOS更新でUUIDが変わることはありますか?
通常、システムごとに正しく割り当てられたUUIDがBIOS更新によって置き換わることはありません。ただし、ファームウェアの不具合、マザーボードの修理・交換、OEMのプロビジョニング、または仮想化環境の変更により、SMBIOSが公開する値が変わる場合があります。予期しない変更が資産管理やライセンスに影響する場合は、新旧の値を記録してメーカーに問い合わせてください。
2台のコンピューターから同じUUIDが報告されることはありますか?
ファームウェアまたはクローンした仮想マシンのテンプレートに、重複したSMBIOSデータやプレースホルダーが含まれている場合はあり得ます。UUID形式の値であっても、メーカーが一意に割り当てたことの証明にはなりません。
結論
Windows 11でwmic csproduct get uuidが動作しない場合は、まず次を実行してください。
(Get-CimInstance Win32_ComputerSystemProduct).UUID
正常なUUIDが返れば、WMIの修復は不要です。古くなっていたのはWMICの方です。全ゼロが返る場合は、SMBIOSファームウェアまたはVMの構成を調査します。CIMエラーが発生する場合は、別のWMIクラスをテストし、エラーコードを取得してWMI-Activityログを確認します。最初の対応としてリポジトリを破壊しかねない修復を行わないでください。
Windows 10ではWMICがまだ存在する場合もありますが、Microsoftはバージョン21H1で非推奨としています。現在のWindows 11ビルドですでに削除されたコマンドを温存するのではなく、スクリプトを今すぐ移行してください。
Microsoftの参考資料
- WMIコマンドライン(WMIC)ユーティリティ — Microsoft Learn
- Windowsクライアントで非推奨となった機能 — Microsoft Learn
- Win32_ComputerSystemProductクラス — Microsoft Learn
- Get-CimInstance — Microsoft Learn
- SMBIOSガイダンス — Microsoft Learn
- WMI接続とアクセスのトラブルシューティング — Microsoft Learn
- WMIのトラブルシューティング — Microsoft Learn
すでに取得済みのUUIDやその他の識別子を確認するには、HWIDバリデーター/パーサーを使用してください。WMICを使用せずに、より広範なローカルレポートを収集するには、Windows HWID Checkerのダウンロードを参照してください。