OneDrive 同期クライアント (Windows 版) のプロファイル カスタマイズに対する制限事項のまとめ
こんにちは SharePoint サポートの森 健吾 (kenmori) です。
今回の投稿では、Windows 版の OneDrive 同期クライアント (OneDrive.exe) におけるプロファイルのカスタマイズの制限事項について記載します。
最初に結論から申しますと、OneDrive 同期クライアントは、移動ユーザー プロファイル、固定ユーザー プロファイル、一時プロファイルおよびコピー プロファイル (Sysprep による) には対応しておりません。
この制限については、一部の内容は以下サポート技術情報にも記載されております。
タイトル : 新しい OneDrive for Business 同期クライアントを使用してファイルおよびフォルダーを同期する際の制限事項
アドレス : https://support.microsoft.com/ja-jp/help/3125202/restrictions-and-limitations-when-you-sync-files-and-folders-using-the-new-onedrive-for-business-sync-client
抜粋
Windows のローミング プロファイル、固定プロファイル、および一時プロファイルはサポートされていません。ユーザー アカウントに対して OneDrive for Business アプリケーションのディレクトリへの上書きを許可しない設定では、One Drive for Business 同期アプリはサポートされていません。
エンタープライズ利用においては、管理者はクライアント端末のセットアップ・展開を大量に実施する必要があるため、これらの作業を計画的に行う必要があります。
しかし、これに対し Windows 10 で標準インストールされるようになった OneDrive 同期クライアント アプリケーションが、プロファイルのカスタマイズに対して制限事項があるということに気づかずに運用を開始し、問題に直面したという報告をよく受けます。
今回の投稿では、これらの制限事項について説明するとともに、問題発生時の暫定対処、および根本対処策の考察について記載いたします。
OneDrive 同期クライアントの展開について
OneDrive 同期クライアントの展開方法としては、Windows 10 でプレインストールされている状況と、OneDriveSetup.exe を使用してインストールする状況が想定されます。
どちらのインストール形式であったとしても、OneDrive 同期クライアントのインストールはユーザー単位のインストールとなります。
ファイルやレジストリは以下の箇所に格納されます。
ファイル : %localappdata%\Microsoft\OneDrive (*1)
レジストリ : HKEY_CURRENT_USER\SOFTWARE\Microsoft\OneDrive
レジストリには、このほかにもエクスプローラ (Shell) の拡張のために、HKEY_CLASSES_ROOT (つまり HKEY_CURRENT_USER\SOFTWARE\Classes) (*2) 配下に、いくつかの Shell 拡張オブジェクトが登録されます。
(補足 *1) : %localappdata% は、既定では C:\Users\{user_name}\AppData\Local になります。
(補足 *2) : HKEY_CLASSES_ROOT は、ローカル マシンの Classes (HKEY_LOCAL_MACHINE\SOFTWARE\Classes) と現在のユーザーの Classes (HKEY_CURRENT_USER\SOFTWARE\Classes) レジストリ キー配下をマージした結果を表示します。
前提として、OneDrive 同期クライアントは各ユーザーがインストールし、同期接続を構成することを想定したデザインとなっております。
このため、OneDrive 同期クライアントは、インストールされた絶対パス情報や各種設定情報をレジストリに多く保持する動作となり、これによってプロファイルのカスタマイズ設定に対し互換性を保てない要因となっています。これらの構成を自動化することもできません。
上記の前提をふまえて、これからシナリオ別に制限事項や対処策についてご説明します。
1. 移動ユーザー プロファイルの制限について
移動ユーザー プロファイルは、ユーザー プロファイルの情報をローカル ハードディスク上ではなく共有フォルダーなどのネットワーク領域に配置し、どのコンピューターでログオンしても別クライアント端末で行われたプロファイル変更を引き継げる設定となります。
しかし、移動ユーザー プロファイルの既定では、%localappdata% フォルダーがプロファイルとして保存される対象になっていません。プロファイルとして保存の除外対象となっているレジストリ値は以下の箇所に格納されています。
レジストリ
キー : HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
値 : ExcludeProfileDirs
例 : AppData\Local;AppData\LocalLow;$Recycle.Bin;OneDrive;Work Folders
また、この設定を変更して、%localapdata% 配下のインストール ファイルや設定ファイルなどを引き継げたとしても、ログオン時にネットワーク共有に保存されたプロファイルからすべての同期された大量のファイル一式を含むプロファイルをロードする動作は問題となる場合が多いです。
対処策
上記の通り、移動プロファイルを使用する場合、OneDrive 同期クライアントをそもそも使用することができませんのでOneDrive 同期クライアントの実行を拒否することをお勧めします。
広範囲のクライアント端末に対し OneDrive 同期クライアント (OneDrive.exe) を使用させない方法として、グループ ポリシー エディターなどで、コンピューターの構成\Windows の設定\セキュリティの設定\アプリケーション制御ポリシー\AppLocker\実行可能ファイルの規則 などから OneDrive.exe の起動を禁止する方法が上げられます。
2. 固定ユーザー プロファイル、一時プロファイルの制限について
固定ユーザー プロファイルの設定と、プロファイル ロード失敗時にロードされる一時プロファイルの状況下においては OneDrive 同期クライアントは正常動作しません。
これらの状況においては、設定変更や同期処理によって変更されたプロファイル (ファイルやレジストリ情報を含む) が保存できません。
OneDrive 同期構成による設定内容を保存できないため、再起動後には OneDrive 同期クライアントを使用することができません。
対処策
このシナリオにおいても、移動プロファイルの際と同様、AppLocker で OneDrive 同期クライアントの実行を拒否する方法が有効と考えられます。
3. Sysprep 応答ファイルを利用したコピー プロファイルの制限について
コピー プロファイルは、各クライアント端末内で特定のユーザーのプロファイル情報をテンプレートとし、他ユーザーが新規ログオンした場合には、そのテンプレートを使用してプロファイルを生成する手法です。
コピー プロファイルを使用することで、一般的に以下のような要件を実現できます。
・プロファイル生成時間の短縮
・カスタム ユーザー アプリケーションの事前設定の横展開
しかし、この方法を使用すると、コピー元のプロファイル情報がそのままコピーされるため、OneDrive 同期クライアントの起動フォルダーの値が不正になります。
例えば、Administrator というユーザーでコピー元のプロファイルを生成した場合、レジストリ内のOneDrive 起動パスなど複数の箇所で C:\Users\Administrator\AppData\Local\Microsoft\OneDrive\OneDrive.exe などといった設定が格納されてしまいます。
これに対し、別のユーザーが起動した OneDrive.exe が、これらのキーを読み込んでファイル アクセスしたとしてもAdministratorユーザーのプロファイル配下へのファイル アクセスは拒否されますので、OneDrive.exe は正常動作することができません。
暫定対処
・OneDriveSetup.exe を起動し上書きセットアップして、インストーラが書き込む設定値を上書き (修復) します。
・OneDrive.exe が起動後に書き込んだ細かな値 (特に Shell 拡張に関連する値) については、HKEY_CURRENT_USER\SOFTWARE\Classes 配下よりコピー元プロファイルのパス C:\Users\Administrator\AppData\Local\ などを検索して、見つけた値を手動で書き換えます。
(注意)
レジストリの値を正確なファイル パスに書き換えることで多くの場合動作するようになります。しかし、マイクロソフトはレジストリ エディター操作の過失操作によって生じた影響等について補償することはできません。編集に際しては細心の注意をはらって行ってくださいますようお願いいたします。
恒久対処案
・OneDriveSetup.exe /uninstall を実行し、OneDrive をアンインストールした状態でコピー プロファイルを実施します。
・導入後に OneDrive を使用したいユーザーは、自分が使用する際に OneDriveSetup.exe をインターネットからダウンロードしてインストールし、使用します。