Windows Hello で新しい PIN を追加・再作成しようとした際に「エラー 0x80090010」が表示され、先に進めない――特に Windows 365 Enterprise(Cloud PC)で多発するこの事象は、ポリシー不整合・更新プログラム・TPM/NGC の破損が主因です。本記事では、現場での再現と切り分けの順番に最適化した「確実に直すための実践手順」を、UI 操作・コマンド・運用上の注意まで含めて詳説します。
症状と前提条件
対象環境は Windows 365 Enterprise(Windows 11/10 ベースの Cloud PC)。サインイン後に 設定 > アカウント > サインイン オプション > PIN(Windows Hello) から「追加」または「PIN を忘れた場合」を選ぶと、セットアップ途中で 0x80090010 が出て中断されます。多くは再試行しても改善しません。
エラー 0x80090010 の正体と典型原因
0x80090010 は暗号化サービス(CNG/CSP)まわりでのアクセスや整合性の失敗を表すエラーです。Windows Hello for Business(WHfB)は TPM に保護されたキーコンテナと Ngc ストアを使うため、そこへのアクセス不能・破損・ポリシー衝突があると発生します。典型的な原因は次の通りです。
- ポリシー不整合:Intune(MDM)とグループポリシー(GPO)の両方で Windows Hello の有効/無効が矛盾。
- 更新プログラム起因:直近の品質更新で Hello/TPM 関連に副作用。例として
KB5062553のような直後の累積更新が契機になることがある(例示)。 - NGC ストア破損:
%LOCALAPPDATA%\Microsoft\NgcまたはC:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Ngcの破損・ACL 異常。 - TPM/ファームウェア:TPM が無効・初期化待ち・エラー状態。
- デバイス登録/認証の未完了:Entra ID(旧 Azure AD)参加状態や PRT が不良でプロビジョニングが中断。
- 時刻ずれ/ネットワーク:プロキシや DPI による認証ブロック、NTP ずれでトークン検証に失敗。
最短で直す「推奨フロー」
以下の順番で進めると、工数を抑えつつ高い再現率で解決できます。
| 手順 | 目的 / 内容 | 補足ポイント |
|---|---|---|
| 1. デバイスをフル再起動 | 完全シャットダウンまたは再起動で Hello 関連サービス・キャッシュを初期化。 | 休止/高速スタートアップではなく、再起動か電源オフ→オン。 |
| 2. Windows Hello のポリシー確認 | Intune / GPO で UsePassportForWork が デバイス単位 有効かを確認。 | ユーザー側で無効化されると PIN 登録がブロック。 |
| 3. レジストリ修正(上級者向け) | HKLM\SOFTWARE\Microsoft\Policies\PassportForWork の DWORD: UserPassportForWork = 1 を設定。 | 変更前にバックアップ。変更後は再起動。 |
| 4. 問題の Windows Update を一時的にアンインストール | 直前の品質更新(例:KB5062553)を 設定 > Windows Update > 更新履歴 > 更新プログラムをアンインストール から削除。 | 解消後、修正パッチ公開後に再適用。 |
| 5. 更新プログラムを一時停止 | 自動再適用を防ぐため 詳細オプション > 更新の一時停止 を最大 35 日。 | 長期停止は脆弱性リスク。再開日を管理。 |
| 6. NGC フォルダーのリセット | Ngc ディレクトリを削除・再生成して PIN を再登録。 | 管理者権限が必要。別ユーザーでのサインインやセーフモードが安全。 |
| 7. TPM とシステム整合性チェック | tpm.msc で状態を確認し、sfc・DISM で修復。 | TPM 無効/初期化待ちは UEFI で有効化後、OS で初期化。 |
前提の健全性チェック(5分でできる初動)
- ネットワーク:社内プロキシで OS サインイン時の認証が必要になっていないかを確認(サインイン前の段階で外部検証に到達できないと失敗)。
- 時刻同期:時刻が 5 分以上ずれていないか。
powershellでw32tm /query /status→w32tm /resync。 - デバイス登録:
dsregcmd /statusの AzureAdJoined と AzureAdPrt(PRT)がYESか。
各手順の詳解
再起動のポイント(簡単だが効果大)
Windows Hello のバックグラウンドサービスや CNG キャッシュは、休止やユーザー切替では残り続けることがあります。再起動または「電源オフ → 10 秒待機 → 電源オン」を実施してください。Windows 365 の場合も Cloud PC 内部での再起動が必要です。
Intune / GPO の正しい見直し
Windows Hello for Business は MDM と GPO の両方で構成でき、競合時はより強いスコープの設定が勝ちます。次の観点を確認しましょう。
- Intune(デバイス構成):Windows enrollment > Windows Hello for Business または デバイス構成プロファイル(Identity protection) で「構成」状態を確認。パイロット OU/グループで Enabled が当たっているか。
- GPO:コンピューターの構成 > 管理用テンプレート > Windows コンポーネント > Windows Hello for Business の「Windows Hello for Business を使用する」を 有効に。ユーザー側「無効」ポリシーが適用されていないかを
gpresult /hで確認。 - 便利なレジストリ目印:
HKLM\SOFTWARE\Policies\Microsoft\PassportForWorkのEnabled(DWORD)= 1HKLM\SOFTWARE\Microsoft\Policies\PassportForWorkのUserPassportForWork(DWORD)= 1
レジストリを使った暫定の強制有効化
変更前にデスクトップへバックアップを取得した上で、管理者のコマンド プロンプト(または PowerShell)で以下を実行します。
rem バックアップ
reg export "HKLM\SOFTWARE\Policies\Microsoft\PassportForWork" "%USERPROFILE%\Desktop\PassportForWork_backup.reg"
rem Hello for Business を有効化(双方のキーに設定)
reg add "HKLM\SOFTWARE\Policies\Microsoft\PassportForWork" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Microsoft\Policies\PassportForWork" /v UserPassportForWork /t REG_DWORD /d 1 /f
rem 反映
gpupdate /force </code></pre>
<p>反映後に再起動し、PIN の再登録を試します。</p>
<h3>更新プログラムのロールバックと一時停止</h3>
<p>直前の品質更新がトリガーになっているケースが少なくありません。UI でのアンインストール手順は次の通りです。</p>
<ol>
<li><strong>設定 > Windows Update > 更新履歴</strong> を開く。</li>
<li><strong>更新プログラムをアンインストール</strong> を選択し、直近に入った累積更新(例:<code>KB5062553</code>)を削除。</li>
<li>再起動後、PIN セットアップを再試行。</li>
<li>再適用を避けるため <strong>詳細オプション > 更新の一時停止</strong> で最大 35 日間停止。</li>
</ol>
<p>スクリプトで行う場合(管理者)は次を利用できます。KB 番号は実環境に合わせて置き換えてください。</p>
<pre><code>wusa /uninstall /kb:5062553 /quiet /norestart
shutdown /r /t 5
</code></pre>
<p>恒久対応としては、修正パッチの配信後に一時停止を解除して正常経路に戻します。</p>
<h3>NGC フォルダーのリセット(破損・権限異常の修復)</h3>
<p>NGC(Next Generation Credentials)ストアが壊れていると、PIN の作成処理が 0x80090010 で止まります。まず別管理者アカウントでサインイン、またはセーフモードで起動し、以下を実施してください。</p>
<h4>ユーザーの NGC(推奨)</h4>
<pre><code>takeown /F "%LOCALAPPDATA%\Microsoft\Ngc" /R /D Y
icacls "%LOCALAPPDATA%\Microsoft\Ngc" /grant %USERNAME%:F /T
rd /s /q "%LOCALAPPDATA%\Microsoft\Ngc"
mkdir "%LOCALAPPDATA%\Microsoft\Ngc"
</code></pre>
<h4>LocalService の NGC(必要に応じて)</h4>
<pre><code>set NGC_SYS=C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Ngc
takeown /F "%NGC_SYS%" /R /D Y
icacls "%NGC_SYS%" /grant administrators:F /T
rd /s /q "%NGC_SYS%"
mkdir "%NGC_SYS%"
</code></pre>
<p>作業後に再起動し、PIN 登録を再試行します。プロファイルに FS の暗号化やサードパーティ製 AV がある場合、いったんリアルタイムスキャンを止めて試すと成功率が上がることがあります。</p>
<h3>TPM とシステム整合性の確認</h3>
<p>TPM は Hello の秘密鍵を保護する基盤です。状態が「準備完了」でないとセットアップが失敗します。</p>
<ol>
<li><kbd>Win</kbd> + <kbd>R</kbd> → <code>tpm.msc</code> で開き、TPM のバージョン・状態を確認。</li>
<li>状態が無効・初期化待ちなら、UEFI で TPM を有効化後、OS 上で初期化。</li>
<li>システムファイルの整合性を修復:
<pre><code>sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
注意:TPM のクリアは BitLocker の回復キーが必要になるなど影響大。実施前に manage-bde -status で暗号化状況と回復キーの保全を必ず確認してください。
Entra ID(旧 Azure AD)登録と PRT の健全性
Cloud PC では PRT(Primary Refresh Token)が不健全だと Hello プロビジョニングが進まないことがあります。以下を実施して状態を把握します。
dsregcmd /status
Device State の AzureAdJoined : YES、SSO State の AzureAdPrt : YES が望ましい状態です。NO 場合は、ネットワーク/プロキシ/時刻を見直し、Settings > Accounts > Access work or school から職場/学校アカウントの切断→再接続を試します。
時刻同期とネットワークの基本対処
- 時刻:
w32tm /query /statusで確認し、w32tm /resync。NTP サーバーが社内指定の場合は Cloud PC からの到達性を確認。 - プロキシ/SSL 検査:サインイン直後の OS レベル通信がブロックされると Hello 登録に失敗。認証プロキシや TLS 検査の対象外リストに認証基盤関連を加えて検証します。
Windows 365 Enterprise(Cloud PC)特有の注意点
- プロファイルの漂白:FS リダイレクトやプロファイル管理製品で
%LOCALAPPDATA%の扱いを変更していると NGC の永続化に失敗する場合があります。除外ポリシーにMicrosoft\Ngcを追加。 - 再プロビジョニング:どうしても復旧できない Cloud PC は再プロビジョニングで短時間にクリーンな状態に戻せます。ただしユーザーデータの保持設計(OneDrive Known Folder Move など)を満たしていることが前提。
- フロントライン/共有端末:セッション切替や共有運用で PIN を許可しない設計もあり得ます。意図した設計か再確認。
イベントログでの裏取り(原因の特定を早める)
再現性が高いのに直らない場合は、次のログを確認すると具体的な失敗点がわかります。
- アプリケーションとサービス ログ > Microsoft > Windows > User Device Registration > Admin(イベント ID 362/360/304 など)
- アプリケーションとサービス ログ > Microsoft > Windows > HelloForBusiness > Operational
- アプリケーションとサービス ログ > Microsoft > Windows > AAD > Operational
- システム(TPM/カーネル/ストレージ 由来のエラー)
管理者向け:一括修復スクリプト(雛形)
検証用の基本シーケンス。必ず検証環境で動作確認のうえ、本番に適用してください。
@echo off
setlocal
echo === Hello for Business 前提チェック ===
dsregcmd /status | findstr /C:"AzureAdJoined : YES" /C:"AzureAdPrt : YES"
echo === ポリシー レジストリを強制有効化 ===
reg add "HKLM\SOFTWARE\Policies\Microsoft\PassportForWork" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Microsoft\Policies\PassportForWork" /v UserPassportForWork /t REG_DWORD /d 1 /f
echo === NGC リセット(ユーザー コンテキスト) ===
takeown /F "%LOCALAPPDATA%\Microsoft\Ngc" /R /D Y
icacls "%LOCALAPPDATA%\Microsoft\Ngc" /grant %USERNAME%:F /T
rd /s /q "%LOCALAPPDATA%\Microsoft\Ngc"
mkdir "%LOCALAPPDATA%\Microsoft\Ngc"
echo === システム整合性 ===
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
echo === 再起動します ===
shutdown /r /t 5
endlocal
上記は「ポリシーの強制」「NGC 修復」「整合性回復」をワンパスで実施します。更新プログラム起因が疑わしい場合は wusa /uninstall を実行に加えます。
よくある落とし穴と回避策
- ユーザー単位で Hello を無効化:デバイスで有効でも、ユーザー側の無効ポリシーが勝つケースあり。スコープを確認。
- ウイルス対策の自己防衛:一部製品は
%LOCALAPPDATA%\Microsoft\Ngcの ACL/削除をブロック。保護を一時停止するか、除外設定で回避。 - 高速スタートアップ:フル再起動でしか解放されないハンドルが残り、失敗を繰り返すことがある。
- RDP/VDI 特性:リダイレクトされたスマートカードや CredSSP 設定が干渉することがある。まずはローカル コンソールで検証。
チェックリスト(現場向けクイック判定)
| 観点 | 正常の目安 | 異常の兆候 | 対処 |
|---|---|---|---|
| Entra ID 参加 | AzureAdJoined/PRT = YES | NO / 未登録 | 職場/学校アカウント再接続、ネットワーク是正 |
| TPM | 準備完了、エラーなし | 無効/初期化待ち | UEFI で有効化→OS で初期化 |
| ポリシー | デバイス単位で有効 | ユーザー側で無効 | スコープ調整、レジストリ補正 |
| NGC | 作成・権限 正常 | アクセス拒否/破損 | 所有権取得→削除→再作成 |
| 更新プログラム | 既知不具合なし | 直後に発生 | アンインストール→一時停止 |
| 時刻/ネットワーク | 同期済み/直通 | プロキシ認証/SSL 検査 | 例外設定・NTP 再同期 |
ユーザー向け:自力でできる安全な回復手順
- PC を再起動。
- 設定 > アカウント > サインイン オプション で「PIN(Windows Hello)」を開き「PIN を忘れた場合」を試す。
- 失敗したら、別のアカウント(管理者)でサインインして NGC リセット手順を実施。
- それでもダメな場合は、IT 管理者へ Intune/GPO と更新プログラムの見直しを依頼。
管理者向け:ポリシー設計のコツ
- 「有効」か「未構成」かを明確に:Intune 側で「未構成」なのに GPO で「無効」を配っている、といった矛盾を避ける。
- パイロット グループで段階展開:新しい更新/設定はまずパイロットで検証してから本展開。
- 除外設計:共有端末・管理端末では PIN を意図的に無効化する設計もあり得る。全社一律にしない。
トラブルシュート フロー(文章版)
再起動 → ポリシー確認(Intune/GPO/レジストリ) → 更新のロールバック&一時停止 → NGC リセット → TPM/整合性チェック → Entra ID/PRT/時刻/ネットワークの補正 → イベントログで裏取り →(改善せず)Cloud PC 再プロビジョニングの検討。
コマンド早見表
| 目的 | コマンド |
|---|---|
| デバイス登録/PRT 確認 | dsregcmd /status |
| 時刻再同期 | w32tm /resync |
| システムファイル修復 | sfc /scannow / DISM /Online /Cleanup-Image /RestoreHealth |
| 更新アンインストール | wusa /uninstall /kb:<番号> /quiet /norestart |
| GPO レポート | gpresult /h "%USERPROFILE%\Desktop\gp.html" |
セキュリティに与える影響と運用のベストプラクティス
- TPM の操作は最小限に:TPM クリアは鍵素材の消去を伴う可能性があり、BitLocker/証明書/仮想スマートカードに影響。先に回復キーと依存関係を確認。
- ログ基盤で早期検知:User Device Registration/HelloForBusiness のイベント ID を収集し、異常値(失敗コードの多発)で検知。
- 更新のリング分離:パイロット→準拠→広範のリングで適用し、Hello/TPM まわりの副作用を早期に捕捉。
ケース別の補足
「PIN を忘れた場合」も失敗する
既存コンテナが壊れている可能性大。NGC リセット→再起動→登録が王道です。Ngc を削除しても復元されるため安全性は高いですが、端末ローカルの Hello 認証情報は作り直しになります。
新規デバイスでのみ発生する
OOBE 後の一括構成でポリシーが競合しているサイン。MDM 登録順序やデバイス スコープを見直し、GPO と重複させないよう整理します。
一部ユーザーだけで起こる
ユーザー スコープで Hello を無効化する設定、もしくはプロファイルのアクセス権異常(NGC ACL)を疑います。該当ユーザーで icacls "%LOCALAPPDATA%\Microsoft\Ngc" を確認。
安全なロールバック計画の作り方
- 発生日・KB 番号・対象リングを記録。
- 影響端末を Intune の動的グループで抽出。
- 対象にアンインストール ポリシー(一時停止)を適用。
- 修正版が出たら段階的に再適用。
まとめ
- 0x80090010 は多くの場合、ポリシーの不整合または更新プログラム起因、次点で NGC/TPM の破損です。
- まずは 再起動 → ポリシー確認 → レジストリ有効化 を実施し、改善しなければ 直前の更新をロールバック。
- 必要に応じて NGC リセット と TPM/整合性チェック を追加。作業前には 復元ポイント作成・重要データ/レジストリのバックアップを推奨します。
付録:現場で使えるミニ FAQ
Q. ローカルの「PIN を使ったサインインを許可する」との違いは?
A. 旧来の「簡易 PIN(Convenience PIN)」とは別で、企業環境では Windows Hello for Business(TPM バック)の設定が推奨。GPO の項目名が似ているため混同に注意。
Q. 一時的にパスワード運用へ戻せる?
A. 可能ですが、ユーザー体験/セキュリティ両面の劣化があるため、ロールバックは短期間に留め、原因究明と再有効化を並行して進めるのがベストです。
Q. Cloud PC を作り直すべきタイミングは?
A. NGC/TPM/ポリシー/更新の全てを試しても復旧しない、もしくはイベントログで OS イメージの広範な破損が示唆される場合。ユーザーデータのクラウド化(OneDrive/SharePoint)が整っているなら再プロビジョニングが早道です。

コメント