マスター イメージ展開後に複数端末で同じ SQMClient MachineID が使用されてしまう事象について

Last Update: feedback 共有

本記事はマイクロソフト社員によって公開されております。
こんにちは、Windows サポートです。

概要

マスター イメージ展開後、複数端末で同じ SQMClient MachineIDが使用されてしまう事象についてご案内させていただきます。
マスターイメージを作成するには Sysprep を実施する必要がありますが、Sysprep 中にアプリケーションがクラッシュするなど、何らかの問題が起きた場合、Sysprep の一般化 (generalize) によって削除された SQMClient MachineID が再割り当てされてしまうことがございます。
SQMClient MachineID が再割り当てされた状態のまま、マスター イメージとして展開してしまうと複数の端末で同じ SQMClient MachineID が使用されてしまう状況が発生いたします。

詳細

問題ない環境においては、Sysprep の一般化 (generalize) によって MachineID は削除され、マスター イメージを展開後に端末ごとに一意の MachineID が作成されます。
今回記載している問題は、Sysprep の一般化 (generalize) によって MachineID が削除される際に、アプリケーションやサービスのクラッシやハング現象に起因し Windows エラー報告サービス (WerSvc) が、エラー報告をするために MachineID の再割り当てが行われることで発生する事象となります。この状態でマスター イメージを展開すると再割り当てされた MachineID が既に存在するため、端末ごとに一意の MachineID が作成されず、マスター イメージ側に再作成された同一の MachineID を持った端末として構築されてしまいます。

■ SQMClient MachineID とは

マイクロソフトでは品質管理のため、
“Specifies the Software Quality Metrics (SQM) Client-to-Service Protocol V2” というプロトコルを使い、各 Windows のテレメトリー情報を取得しています。
“SQMClient MachineID” は SQM による品質管理の通信のために各デバイスを識別するために使われる ID となり、以下のレジストリ キーに情報が格納されています。


レジストリ パス : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQMClient
名前 : MachineId
型 : REG_SZ
値 : <ランダムなID が生成>


■ 本事象に当て嵌まるかを確認する方法

作成したマスターイメージを展開し、上記レジストリ値が端末により異なるかどうかをご確認ください。
上記レジストリ値が端末によらず一意の場合は本事象に当てはまる可能性がございますので、後述の回避策を実施しマスターイメージを再作成ください。

■ 複数端末で同じSQMClient MachineID が使用されることの影響について

SQMClient MachineID は Windows OS としては品質管理のため、各デバイスを識別するに使っている ID です。
複数端末で同じ SQMClient MachineID が使用されることによって、マイクロソフト側では正しく情報を集計できない可能性がありますが、原則的には OS 自身の動作には影響ありません。
しかし、一部 3rd party 製品の中には MachineID を取得し、それを基にデバイスを識別しているものもあるため、そういった製品の動作には影響を及ぼす可能性がございます。

回避方法

Sysprep 中に発生したアプリケーションやサービスの問題を特定し、根本的な問題解決はエラーの発生元で対処すべきですが、時には Windows OS にインボックスされているアプリケーションやサービスが問題となるケースもあり、アプリケーション ベンダーに相談しても早期解決が難しい場合がございます。

その場合の暫定対処策としては Sysprep 中、Windows エラー報告サービス (WerSvc) は一時的に無効していただくことをご検討ください。
ただし、Windows エラー報告サービス (WerSvc) を無効にしたままマスター イメージとして展開することは弊社としては非推奨であるため、一般化 (generalize) の後、マスター イメージとして展開する前に Windows エラー報告サービス (WerSvc) のスタートアップ種類を元の状態に戻していただくことが推奨となります。

特記事項

本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。


Regarding the issue that the same SQMClient MachineID is used on multiple PCs after deploying the master image

This article is published by Microsoft employees, Windows Support Team.

Overview

An issue is addressed in this blog that the same SQMClient MachineID is used on multiple PC after deploying the master image.
To create a master image, Sysprep must be executed but if some problem such as an application crash occurred during Sysprep, the SQMClient MachineID which had been deleted by generalization of Sysprep, might be reassigned.
If you deploy such master image with the reassigned SQMClient MachineID, it could cause multiple PCs having the same SQMClient MachineID.

Details

In a healthy environment, Sysprep Generalize phase will remove the MachineID and create a unique MachineID for each device after deploying the master image by default.
However, the same MachineID will be reassigned if application/service crashes or hangs during Sysprep Generalize and is reported by Windows Error Reporting Service (WerSvc). If you deploy the master image in this state, since the reassigned MachineID already exists, a unique MachineID is not issued for each device, and each device will be deployed with the same MachineID from the master image.

■ What is SQMClient MachineID

For quality control purpose, Microsoft uses a protocol called “Specifies the Software Quality Metrics (SQM) Client-to-Service Protocol V2” to retrieve telemetry information from each Windows.
“SQMClient MachineID” is an ID used to identify each device by SQM for quality control communications, and is stored in the following registry key.


Registry Path : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQMClient
Name : MachineId
Type : REG_SZ
Value :


■ How to check if this issue applies to you

Deploy the master image and check if the above registry value is different among all deployed devices.
If the above registry value is a unique value regardless of the devices, this issue may apply, so please implement the workaround described below and recreate the master image.

■ Regarding the impact of using the same SQMClient MachineID on multiple PCs

SQMClient MachineID is an ID used to identify each device for quality control as a Windows OS.
If the same SQMClient MachineID is used by multiple PCs, Microsoft may not be able to collect information correctly, but in principle it does not affect the behavior of the OS itself.
However, some 3rd party products obtain MachineID and identify the device based on that, so it may affect the behaviors of such products.

Workaround

It is necessary to investigate the root cause of problems on application/services side but this issue may also be related to applications or services that are inboxed in the Windows OS. Therefore, sometimes it is difficult to solve the problem in an early stage even if you consult with the application vendor.

In that case, as a temporary workaround, consider disabling the Windows Error Reporting Service (WerSvc) temporarily during Sysprep.
However, we do not recommend deploying a master image with the Windows Error Reporting Service (WerSvc) disabled, so after generalizing and before deploying as a master image, we suggest restore the startup type of the Windows Error Reporting Service (WerSvc) to its original state.

Remark

The content of this article (including attachments, links, etc.) is current on the date of the announcement and is subject to change without prior notice.