Windows Server 2025 RDS×FSLogixでOffice 365が毎回サインイン要求・デバイス登録ダイアログを出す問題の完全解決ガイド

Windows Server 2025 の RD セッションホストに FSLogix と Office 365(Microsoft 365 Apps)を導入したところ、毎回のサインイン要求と「このデバイスを組織で管理しますか?」のデバイス登録ダイアログが出続ける──本稿はこの現象のしくみを分解し、その日に現場で直せる再現性の高い手順を、検証・ロールバックまで含めて解説します。

目次

現象の概要と前提

  • サーバー:Windows Server 2025(RD セッションホスト/RDS ファーム)
  • プロファイル:FSLogix v25.06(Profile Container 使用、redirections.xml 適用)
  • Office:Microsoft 365 Apps(俗称 Office 365)32bit
  • 症状:ユーザー接続ごとに Office アプリで ID+パスワード+MFA が再要求。さらに毎回 Workplace Join(Azure AD デバイス登録) ダイアログが表示。

技術背景:なぜ再サインインとデバイス登録が起きるのか

Windows 10/11 と同様、Server 2025 でも Office アプリの認証は主に WAM(Web Account Manager)AAD Broker Plugin によって実行され、取得したトークンはユーザーのローカル プロファイル配下に保存されます。代表的な保存先は次のとおりです。

フォルダー/コンポーネント役割パス例(ユーザー コンテキスト)
TokenBrokerMSA/AAD の更新トークン管理%LOCALAPPDATA%\Microsoft\TokenBroker
OneAuthOffice/Teams などの共通トークン キャッシュ%LOCALAPPDATA%\Microsoft\OneAuth
IdentityCacheWAM の ID キャッシュ%LOCALAPPDATA%\Microsoft\IdentityCache
AAD Broker Plugin (UWP)対話認証とアカウントバインド%LOCALAPPDATA%\Packages\Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy
CloudExperienceHostWorkplace Join UI や OOBE 流用%LOCALAPPDATA%\Packages\Microsoft.Windows.CloudExperienceHost_cw5n1h2txyewy
Credentials/ProtectDPAPI マスターキー/資格情報%APPDATA%\Microsoft\Credentials, %APPDATA%\Microsoft\Protect\<SID>

FSLogix Profile Container は原則プロファイル全体を VHD(X) に収容しますが、redirections.xml で除外したパスはセッションごとにローカルに生成されます。もし上記のトークン関連フォルダーが除外されている、または RoamIdentity が無効(既定は無効)だと、セッションのたびにトークンが見当たらない/別デバイス扱いとなり、Office は再認証を求め、同時に Workplace Join が毎回案内されます。

さらに RDS は「共有デバイス」性質が強いため、デバイス登録(Workplace Join)自体を行う意義が薄いケースが多く、UI を抑止して真の SSO は Entra ID(旧 Azure AD)+ハイブリッド Join/シームレス SSOで実現するのが定石です。

最短で直す全体像(ダイジェスト)

対応項目目的手順(要点)
① RoamIdentity を有効化Office 認証トークンをプロファイルに保存し再ログイン防止HKLM\SOFTWARE\FSLogix\Profiles\RoamIdentity=1(DWORD)
② redirections.xml の見直しトークン/キャッシュを除外しないTokenBroker、OneAuth、IdentityCache、AAD.BrokerPlugin、CloudExperienceHost の除外を撤回
③ Workplace Join の無効化毎回のデバイス登録 UI を抑止HKLM\SOFTWARE\Policies\Microsoft\Windows\WorkplaceJoin\BlockAADWorkplaceJoin=1
④ Entra ID 連携で SSO(推奨)将来含めて確実な SSOハイブリッド Azure AD Join+シームレス SSO(AZUREADSSOACC)
⑤ FSLogix の最新化+追加ローミング残る断続的な再認証を収束v3.25.626.21064 以上推奨、OneAuth/IdentityCache の除外再確認
⑥ ログと Entra ID 健全性確認重複デバイス・権限エラーを是正FSLogix ログの 0x80070005、Entra の重複デバイスを整理

手順詳細

① FSLogix「RoamIdentity」を有効化する

WAM/Office の ID/トークンを FSLogix コンテナーに収めるためのスイッチです。RDS 環境では必須と考えてよい設定です。

  • レジストリ(管理者権限): reg add "HKLM\SOFTWARE\FSLogix\Profiles" /v RoamIdentity /t REG_DWORD /d 1 /f
  • GPO(推奨):
    コンピューターの構成 > 管理用テンプレート > FSLogix > Profiles > Roam identityEnabled
  • チェック:ユーザーサインアウト後に再サインインし、C:\ProgramData\FSLogix\Logs\Profiles のログで RoamIdentity enabled を確認。

補足:FSLogix の Enabled=1VHDLocationsVolumeType=VHDXDeleteLocalProfileWhenVHDShouldApply=1(任意)も併せて見直してください。

② redirections.xml を見直し、認証に必要なフォルダを除外しない

プロファイル縮小目的で用意した redirections.xml により、トークン/ID キャッシュを除外してしまう事例が多発しています。次のパスは 除外しないのが原則です。

  • AppData\Local\Microsoft\TokenBroker
  • AppData\Local\Microsoft\OneAuth
  • AppData\Local\Microsoft\IdentityCache
  • AppData\Local\Packages\Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy
  • AppData\Local\Packages\Microsoft.Windows.CloudExperienceHost_cw5n1h2txyewy
  • AppData\Roaming\Microsoft\CredentialsAppData\Roaming\Microsoft\Protect(DPAPI)

サンプル(不要な除外を削除した最小例):

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;FrxProfileRedirection ExcludeCommonFolders="0" ExcludeAppContainer="0"&gt;
  &lt;Excludes&gt;
    &lt;!-- ここにトークン関連のパスは入れない --&gt;
    &lt;!-- サイズの大きいキャッシュ(例:TeamsMeetingAddin Logs)など、認証無関係なものだけを精選して除外 --&gt;
  &lt;/Excludes&gt;
&lt;/FrxProfileRedirection&gt;

配置と適用

  • RedirXMLSourceFolder=\\FileServer\FSLogix\Policy とし、共有に redirections.xml を配置。
  • 変更後は、対象ユーザーを完全サインアウト(切断ではなく サインアウト)させて再接続。

③ Workplace Join(デバイス登録)UI を無効化する

RDS は「自席 PC = 共有セッション ホスト」のため、端末をユーザーの AAD デバイスとして登録する合理性が薄い場合がほとんどです。UI を抑止し、認証はユーザー トークンに委ねましょう。

  • レジストリ: reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WorkplaceJoin" ^ /v BlockAADWorkplaceJoin /t REG_DWORD /d 1 /f
  • GPO:コンピューターの構成 > 管理用テンプレート > Windows コンポーネント > Workplace Join > Block Workplace Join = 有効
  • スケジュール タスクの無効化(任意):\Microsoft\Windows\Workplace Join\Automatic-Device-Join を無効化

適用後は イベント ビューアー > Applications and Services Logs > Microsoft > Windows > User Device Registration > Admin にデバイス登録試行が出てこないことを確認します。

④ Entra ID(旧 Azure AD)と連携して真の SSO を実現(推奨)

UI を抑止しても、SSO 基盤が弱いと別の再認証が散発します。オンプレ AD を使用している場合は次を満たしておくと堅牢です。

  1. ハイブリッド Azure AD Join:RDS セッション ホストの OU を Azure AD Connect で同期し、マシン オブジェクトをハイブリッド Join。
    ※共有サーバーは「ユーザーのデバイス」にはなりませんが、Kerberos/トークン発行の信頼関係が安定します。
  2. シームレス SSOAZUREADSSOACC が作成され、ドメイン端末からのサイレント サインインが成立。AD FS は不要です。
  3. IE/Edge/Office のゾーン/イントラネット設定:テナントの STS/ログオン URL と Entra のエンドポイントは ローカル イントラネットとして扱い、自動ログオンを許可。

⑤ FSLogix を最新に保ち、OneAuth/IdentityCache を追加確認

Server 2025 世代では FSLogix の更新で WAM/OneAuth 周辺の互換性が随時改善されています。次を確認します。

  • FSLogix バージョン:v3.25.626.21064 以上(指標)。
  • redirections.xmlOneAuthIdentityCache を除外していない。
  • AV/EDR の排他:C:\Program Files\FSLogix\Apps\*C:\ProgramData\FSLogix\*、VHD(X) 保管共有(SMB)をリアルタイムスキャンから除外。

⑥ ログと Entra ID の健全性チェック

問題が残る際はログで切り分けます。

  • FSLogix LogsC:\ProgramData\FSLogix\Logs\ProfilesAccess denied (0x80070005)CreateImpersonationToken failed (0x80070005) が出ていないか。
  • Office/WAM:ユーザーの %LOCALAPPDATA%\Microsoft\OneAuth\Logs(存在すれば)やイベント ログ(AAD/Broker/TokenBroker)にエラーがないか。
  • Entra ID デバイス:同一ホスト名の重複登録がないか。重複があるとトークン バインドが破綻しやすく、再認証が頻発します。不要デバイスをクリーンアップ。

15分で収束を確認するチェックリスト

  1. 管理者でサーバーに入り、レジストリで RoamIdentity=1BlockAADWorkplaceJoin=1 を設定(GPO なら gpupdate /force)。
  2. redirections.xml を更新し、トークン関連の除外を全部撤回。共有を保存。
  3. 対象ユーザーを 完全サインアウトさせ、RD セッションを作り直す。
  4. 最初の Office 起動時に 1 度だけサインインし、2 回目以降は無操作でサインイン済みになっていることを検証。
  5. Workplace Join ダイアログが出ないことを確認。
  6. FSLogix ログにエラーがないことを確認し、必要なら AV/EDR 除外を追加。

運用のヒント(残存再認証の潰し込み)

  • 孤立トークンのリセット:特定ユーザーだけ再認証が残る場合は、当該ユーザーの
    • %LOCALAPPDATA%\Microsoft\OneAuth
    • %LOCALAPPDATA%\Microsoft\IdentityCache
    • %LOCALAPPDATA%\Microsoft\TokenBroker
    をバックアップ後に削除し、再サインインで再生成させると改善することがあります(FSLogix コンテナー配下の同ディレクトリ)。
  • DPAPI 破損時%APPDATA%\Microsoft\Protect\<SID> のマスターキー破損が疑われる場合は、バックアップ+再ログインで再生成を試験。
  • WebView2 依存:Office の対話認証 UI は WebView2 に依存します。Server 2025 でのランタイムが最新でないと UI が出ない/進まない事があります(Windows Update で最新化)。
  • UWP サービスの停止に注意Microsoft AAD Broker Plugin を無効化するとサインインが毎回壊れます。サービスやパッケージの過度な無効化は避けること。

PowerShell & コマンド スニペット集

GPO 適用前の迅速な検証や自動化に使えます。

:: FSLogix RoamIdentity 有効化
reg add "HKLM\SOFTWARE\FSLogix\Profiles" /v RoamIdentity /t REG_DWORD /d 1 /f

:: Workplace Join UI をブロック
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WorkplaceJoin" /v BlockAADWorkplaceJoin /t REG_DWORD /d 1 /f

:: 適用確認(抜粋)
reg query "HKLM\SOFTWARE\FSLogix\Profiles" /v RoamIdentity
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WorkplaceJoin" /v BlockAADWorkplaceJoin

:: セッション上の Azure AD 状態確認
dsregcmd /status

:: グループポリシー再適用
gpupdate /force

:: イベントログ(User Device Registration)を開く(PowerShell)
Get-WinEvent -LogName "Microsoft-Windows-User Device Registration/Admin" -MaxEvents 30 | Format-List TimeCreated,Id,LevelDisplayName,Message 

ベストプラクティス(RDS × FSLogix × Office)

  • Profile Container を第一選択:ODFC コンテナー単体では OneAuth/TokenBroker が十分にローミングされず、SSO が不安定になりがち。Profile Container + RoamIdentity を基本形に。
  • redirections.xml は「足し算」ではなく「引き算」:不要キャッシュだけを精選して除外。トークン/ID/DPAPI は触らない。
  • サインアウトを徹底:設定変更後にユーザーがセッションを「切断」すると旧プロファイルが掴まれ続けます。必ず「サインアウト」。
  • SMB 共有の遅延対策:プロファイル VHDX の格納先は低遅延(1~2ms 程度)を目標。スループットよりレイテンシが重要です。
  • 排他設定:AV/EDR はプロファイル VHDX と FSLogix バイナリを除外。I/O フックの干渉は 0x80070005 の温床です。
  • Office のサインイン ドメインのゾーン設定:イントラネット ゾーンにテナント関連ホストを配置し「自動ログオン」を許可。

よくある落とし穴と対策

落とし穴症状対策
redirections.xml で TokenBroker を除外毎回 Office/MFA 要求、Outlook プロファイル初期化除外を撤回、RoamIdentity=1、ユーザーのトークン フォルダー再生成
Workplace Join を許可「デバイスを管理しますか?」が毎回出るBlockAADWorkplaceJoin=1 で UI を抑止
DPAPI/Protect フォルダーを除外資格情報読み取り失敗(0x80070005)、トークン読めず除外を撤回。FSLogix ログでアクセス権を確認
AV が VHDX をスキャンログオン遅延、プロファイルマウント失敗FSLogix 公式推奨の除外を追加
ユーザーが切断のみ設定反映せず現象継続サインアウトを周知、ポリシー適用後に再起動/再ログオン

障害切り分けフロー(ASCII ダイアグラム)

[現象] Office 再サインイン + Workplace Join ポップアップ
   |
   +--(A) redirections.xml にトークン関連の除外がある?
   |       |-- ある → 除外撤回 → ユーザー再サインイン → 再検証
   |       |-- ない → (B)
   |
   +--(B) RoamIdentity=1 か?
   |       |-- いいえ → 有効化 → 再検証
   |       |-- はい   → (C)
   |
   +--(C) Workplace Join ブロック済みか?
           |-- いいえ → BlockAADWorkplaceJoin=1
           |-- はい   → (D) ログ/OneAuth/DPAPI/AV 排他を確認

ロールバック手順(万一不整合が出た場合)

  1. BlockAADWorkplaceJoin を 0 に戻し、必要に応じて自動デバイス登録を再開。
  2. RoamIdentity を 0 にし、以前の redirections.xml を復元(ただし再発に注意)。
  3. ユーザー側:該当のトークン フォルダーをバックアップから復元。

セキュリティとコンプライアンスの観点

  • RoamIdentity はユーザーの アイデンティティに関わるキャッシュをローミングします。コンテナーの NTFS/SMB ACL を厳格に(ユーザー、管理者、SYSTEM のみ)。
  • 監査ログ:FSLogix ログ、イベント ログ(User Device Registration / AAD / TokenBroker)を SIEM に集約。
  • MFA ポリシー:SSO 成立後も、条件付きアクセスで高リスク時にのみ MFA を促すよう リスクベースに再設計すると UX とセキュリティの両立が図れます。

検証テンプレート(ドキュメント化例)

項目期待値結果
初回起動後の Office 再認証2 回目以降は不要 
Workplace Join ダイアログ表示されない 
FSLogix ログエラーなし(0x80070005 なし) 
Entra デバイス重複なし 

FAQ

Q. ODFC コンテナー(Office Data)だけでも良い?
A. サインイン/トークンは ODFC 単体では十分にローミングされません。Profile Container+RoamIdentity を推奨します。

Q. 32bit Office を 64bit に変えると解決する?
A. 本件は主に WAM/トークンのローミングとデバイス登録 UI に起因します。ビット数変更は決定打ではありません。

Q. サーバーを Azure AD Join にすれば良い?
A. 共有サーバーをユーザーの AAD デバイスとして扱うのは一般的に不適切です。ハイブリッド Join+シームレス SSOが現実解です。

Q. 特定ユーザーだけ直らない
A. OneAuth/IdentityCache/TokenBroker の破損が多いです。バックアップ後にフォルダー削除 → 再サインインで再生成を試行。

まとめ

RDS(Server 2025)での Office 再サインイン地獄は、RoamIdentity を有効化し、redirections.xml から認証関連を除外しない、そして Workplace Join UI を抑止するだけで大半が解決します。さらに Entra ID のハイブリッド Joinとシームレス SSOを組み合わせれば、ユーザーはただ RD に接続するだけで Office がサインイン済みとなり、MFA は条件付きアクセスで必要なときだけ。設定変更後は必ずサインアウトを徹底し、FSLogix ログと Entra デバイスの健全性を確認しましょう。これで現場の「毎回サインイン」問題は終わりにできます。

付録:一括適用サンプル(検証ラボ向け)

REM ====== 事前:管理者 CMD ======
:: FSLogix 基本
reg add "HKLM\SOFTWARE\FSLogix\Profiles" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\FSLogix\Profiles" /v RoamIdentity /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\FSLogix\Profiles" /v VolumeType /t REG_SZ /d VHDX /f
reg add "HKLM\SOFTWARE\FSLogix\Profiles" /v VHDLocations /t REG_SZ /d "\\FileServer\FSLogix\Profiles" /f
reg add "HKLM\SOFTWARE\FSLogix\Profiles" /v RedirXMLSourceFolder /t REG_SZ /d "\\FileServer\FSLogix\Policy" /f

:: Workplace Join の UI を抑止
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WorkplaceJoin" /v BlockAADWorkplaceJoin /t REG_DWORD /d 1 /f

:: GPO 再適用
gpupdate /force

:: ログ確認(PowerShell)
powershell -NoLogo -NoProfile -Command ^
"Get-WinEvent -LogName 'Microsoft-Windows-User Device Registration/Admin' -MaxEvents 10 | fl TimeCreated,Id,Message" 

執筆者メモ(チェックポイント)

  • RoamIdentity=1 を既定と勘違いしていないか。
  • redirections.xml にトークン関連の除外が紛れていないか。
  • Workplace Join のブロックが GPO できちんと反映されているか。
  • FSLogix/AV 排他と SMB レイテンシが許容範囲か。
  • Entra 側で重複デバイスやサインインリスクによる強制再認証が起きていないか。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次