この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
はじめに
Windows のRDS(リモートデスクトップサービス)にてブラウザをRemoteApp公開する構成について、IE11のサポート終了に伴いMicrosoft Edge(chromium版)を公開するケースも出てきていると思います。(※そもそもRDSからAVDに移行すべきという議論もあるかとは思いますが、今回はRDSについて書きます。)
特に複数ユーザーでサーバを共有するマルチセッション環境ではプロファイルをどう管理すべきかという話が常に付きまとうわけですが、Microsoft Edgeの場合はIEの時とは異なる考慮点や注意点がございますので、今回は実体験に基づいてMicrosoft Edge のRDSにおけるプロファイル管理について書きたいと思います。
実施したいこと
RDSの公開アプリケーションをIEからMicrosoft Edgeに切り替えるに当たり実施したかったことは以下です。
①RDセッションホストサーバが複数台存在し毎回ログイン先が変わるので、ユーザープロファイルはRDセッションホストサーバではなく、移動ユーザープロファイル方式等で別途用意したファイルサーバに格納する。
②ブラウザのお気に入り(bookmark)、認証プロキシの認証情報、ブラウザの履歴をMicrosoft Edgeでも同様に移動ユーザープロファイル方式で保存する。(IEでは実現することができていた)
【参考】IEでの実現方法
参考としてIEの方法をまずは記載します。IEの場合は移動ユーザープロファイルを設定するための以下のグループポリシーを設定するのみでシンプルに実現することが可能です。
・「リモート デスクトップ サービス移動ユーザー プロファイルのパスを指定する」
参考ドキュメント:https://admx.help/?Category=Windows_10_2016&Policy=Microsoft.Policies.TerminalServer::TS_USER_PROFILES&Language=ja-jp
IE固有の設定ではなくプロファイル全般の設定ですが、このポリシーによってIEに関するプロファイル情報も保存されるようになります。
Microsoft Edgeでの実現方法
続いて本題のMicrosoft Edgeの話ですが、結論から申し上げると最善の方法は以下の参考ドキュメントに記載されている「Microsoft エンタープライズの同期」を採用する方法だと考えています。ただ、Azure AD P1などの有償ライセンスが別途必要であり、特に今回のように新規構築ではなくIEからの移行というシナリオではハードルが高いと思います。
・「Microsoft Edge エンタープライズの同期を構成する」
参考ドキュメント:https://docs.microsoft.com/ja-jp/deployedge/microsoft-edge-enterprise-sync
一方で、諸々調べていくとその他にも似たようなことを実現できる方法があるように見えるので、今回はそちらに焦点を絞って話してきます。ただ、繰り返しとなりますがマイクロソフト社としては「Microsoft エンタープライズの同期」を推奨しているようなのでライセンス要件を充足できるのであれば「Microsoft エンタープライズの同期」の採用を検討すべきです。
代替手段の検討
代替手段として以下の3パターン試しました。こちらも結論から書くと要件を満たすことができたのは③のみでしたが検証結果の整理ということで①~③の順に記載したいと思います。
①Active Directory (AD) ユーザー用のオンプレミス同期
②ログオン/ログオフスクリプトで半ば強引にプロファイルを移動する
③ユーザー データ ディレクトリを設定する
①Active Directory (AD) ユーザー用のオンプレミス同期
本機能を使用するには以下3つグループポリシーを設定する必要があります。
・「Microsoft Edge プロファイル データに対してローミング コピーの使用を有効にする」
参考ドキュメント:https://admx.help/?Category=EdgeChromium&Policy=Microsoft.Policies.Edge::RoamingProfileSupportEnabled&Language=ja-jp
・「移動プロファイルのディレクトリを設定する」
参考ドキュメント:https://admx.help/?Category=EdgeChromium&Policy=Microsoft.Policies.Edge::RoamingProfileLocation&Language=ja-jp
・「Azure AD ドメイン アカウントがない場合の Active Directory ドメイン アカウントによる自動サインインを構成する」
参考ドキュメント:https://admx.help/?Category=EdgeChromium&Policy=Microsoft.Policies.Edge::ConfigureOnPremisesAccountAutoSignIn&Language=ja-jp
設定方法はシンプルですし、グループポリシーの説明文を見る限り今回の要件を充足できるように見えたのですが、いざ試してみるとプロファイルに引き継がれるのは「お気に入り」のみで履歴や認証情報は引き継がれませんでした。その為、要件がお気に入りのみであればこの方法でも良かったのですが、今回はNGとなりました。
②ログオフスクリプト/ログオンスクリプトによるプロファイルのコピー
Microsoft Edgeのプロファイル保存先を把握し、ログオフスクリプト/ログオンスクリプトによってセッションホストサーバとファイルサーバ間でプロファイル全体をコピーする方法も試しました。しかしながらこの方法では、動作が不安定(プロファイルが引き継がれることもあれば引き継がれないこともある。正確な原因究明には至りませんでした。)であることが発覚しこれもNGとなりました。
③ユーザー データ ディレクトリを設定する
本機能を使用する為には以下のグループポリシーを設定する必要があります。
・「ユーザー データ ディレクトリを設定する」
参考ドキュメント:https://admx.help/?Category=EdgeChromium&Policy=Microsoft.Policies.Edge::UserDataDir&Language=ja-jp
これは厳密には移動ユーザープロファイルではなく、プロファイル保存先として直接ファイルサーバを参照させる方法なのですが要件自体は満たすことができました。お気に入りだけでなく履歴や認証情報も引き継がれることを確認しました。ただ、唯一ネックな点はマイクロソフト社としては推奨構成ではなく、あくまで「Microsoft エンタープライズの同期」推奨とのことです。
まとめ
今回のまとめをおよび個人的な教訓を以下に記載します。
・ライセンス要件が厳しくいろいろ小細工を試みましたが、結局はMicrosoft Edgeでのプロファイル管理では「Microsoft エンタープライズの同期」を採用すべき
・推奨ではないものの「ユーザー データ ディレクトリを設定する」方法で対応は可能
・単純にRemoto Appで公開するブラウザを変えて終わりでは済まず、プロファイル周りの考慮、検証が重要であるということ。
これで今回の記事は以上となります。