Windowsユーザープロファイルの知識マップ(知識グラフ)
Windowsのユーザープロファイルは、Desktop・AppDataなどのファイル群とNTUSER.DATというユーザーレジストリハイブの2層から成り、初回サインイン時にはC:\Users\Defaultを土台に作成される。AppDataはRoaming・Local・LocalLowに分かれ、持ち回りたい設定とPC固有のキャッシュ、低整合性プロセス専用領域とで置き場所を使い分ける。ローカルプロファイルを基本としつつ、複数PCで設定を共有したいときはローミングプロファイル、文書だけを中央管理したいときはFolder Redirectionを使い、RDS/VDI/Azure Virtual DesktopではFSLogixプロファイルコンテナーが推奨される。教育端末やキオスクにはMandatoryプロファイルが向き、NTUSER.DATの権限問題や長いパスによるイベント1509は一時プロファイル化の典型的な原因になる。
ユーザープロファイル
ファイルシステム上のプロファイルフォルダー群と、ユーザーレジストリハイブNTUSER.DATから成る、サインインしたユーザーの作業環境の実体。
Windowsユーザープロファイル
NTUSER.DAT
Windowsのユーザープロファイルに含まれるユーザーレジストリハイブの実体ファイルで、サインイン時に読み込まれてHKEY_CURRENT_USERとして使われる。
ユーザーレジストリハイブ
HKCUの実体
既定プロファイル(Default)
新しいユーザーがそのPCに初めてサインインするときに土台として使われる、新規プロファイル作成のテンプレート。
CopyProfile
Sysprepと組み合わせて、作り込んだプロファイルを既定プロファイルへ反映させる、Microsoftがサポートする既定プロファイルのカスタマイズ手順。
CopyProfile設定
%APPDATA%(Roaming)
移動ユーザープロファイル環境でログオン・ログオフ時に同期される既知フォルダー。
%LOCALAPPDATA%
ユーザーごとの、ローミングしないデータを保存する既知フォルダーで、ユーザーごとのデータの既定の置き場所。
AppData\LocalLow
低整合性レベルで動作するプロセスが書き込める数少ない場所として用意された、プロファイル内のフォルダー。
低整合性レベル
Windowsのプロセスに与えられる権限区分のうち、書き込み先が強く制限された段階。ブラウザーなど乗っ取りリスクのある処理を隔離するために使われる。
ローカルプロファイル
PCのローカルディスク上に作られ、他のPCへ自動では持ち回らない、既定のユーザープロファイルの種類。
ローミングプロファイル
ユーザーのプロファイルをネットワーク上に保持し、ログオンした別のコンピューターでも同じプロファイルとして読み込まれる仕組み。鍵材料もプロファイルと一緒に移動する。
ローミングユーザープロファイル
Mandatoryプロファイル
管理者が作る「保存されないローミングプロファイル」で、利用者がセッション中に変更しても通常のローミングプロファイルのようには保存されない読み取り専用プロファイル。
Temporaryプロファイル
エラーで本来のプロファイルを読み込めないときに発行される緊急避難で、セッション終了時に削除され変更が失われるプロファイル。
一時プロファイル
FSLogixプロファイルコンテナー
ユーザープロファイル全体をVHD/VHDXとして持ち、サインイン時にそれをアタッチしてネイティブなプロファイルのように見せる方式。
ローミングプロファイルのOS世代間非互換
Windows 10/Server 2016以降のローミングユーザープロファイルが、それ以前のWindowsのローミングユーザープロファイルと互換性を持たないこと。
Folder Redirection
Documentsなど既知フォルダー(known folder)のパスだけを別の場所(ファイル共有等)へ向ける仕組みで、プロファイル全体の代替ではない。
フォルダーリダイレクト
Azure Virtual Desktop
Azure上で提供される、Microsoftのデスクトップ仮想化サービス。
共有/ゲストPCの構成
共有端末向けに、アカウントやプロファイルの自動管理・自動削除を組み合わせて構成するWindowsのモード。
古いプロファイルの自動削除ポリシー
指定した日数使われていないユーザープロファイルを、再起動時に自動的に削除できるポリシー。
Delete user profiles older than a specified number of days on system restart
グループポリシー
Active Directoryドメイン環境でWindowsの設定を集中構成する仕組み。
イベントID 1509(長いパスでのプロファイル読み込み失敗)
共有パス側のサーバー名や共有名が長すぎてコピー先パス全体が長くなりすぎることで、プロファイルの読み込みに失敗したときApplicationログに記録されるイベント。
User Profile Serviceのログ
プロファイル問題の切り分けに使う、Applicationログ・User Profile ServiceのOperationalログ・Diagnosticログの総称。
Application/Operational/Diagnosticログ
ユーザープロファイルは、Desktop・AppDataなどのファイル群に加えてNTUSER.DATというユーザーレジストリハイブを含む2層構成である。
新しいユーザーがそのPCに初めてサインインするときに限り、WindowsはC:\Users\Defaultを土台に新しいプロファイルを作成する。既に作成済みのプロファイルの以後の利用には当てはまらない。
既定プロファイルをカスタマイズしてサポートされた形で反映するには、Sysprepと組み合わせたCopyProfileを使う。
ユーザープロファイルは、ユーザーごとに持ち歩きたい設定の置き場としてAppData\Roamingを含む。
ユーザープロファイルは、そのPC専用のキャッシュや一時的な状態の置き場としてAppData\Localを含む。
ユーザープロファイルは、低整合性プロセス専用の書き込み先としてAppData\LocalLowを含む。
低整合性レベルで動くプロセスは、書き込める数少ない場所としてAppData\LocalLowを使う。フォルダー自体は整合性レベルに関わらず存在し、中整合性のプロセスからも読み書きできる
普通のローカルPCでは、既定でローカルプロファイルが作られる。
複数コンピューターで同じOS/アプリ設定を受け取れるようにする場合、プロファイルはローミングプロファイルとしてサーバー共有に保存される。
教育端末やキオスクなど、毎回きれいな状態に戻したい共有端末では、プロファイルはMandatoryプロファイルとして構成される。
エラーで本来のプロファイルを読み込めないとき、プロファイルはTemporaryプロファイルとして発行される。
RDS/VDI/Azure Virtual Desktopでは、プロファイルはFSLogixプロファイルコンテナーとしてVHD/VHDXに格納される。
OS世代の異なる端末間で同じ共有のローミングプロファイルを混在させると、不整合やスタートメニュー異常の原因になり得る。
NTUSER.DATをNTUSER.MANにリネームするとMandatoryプロファイルになり、フォルダー名末尾を.manにするとSuper-mandatoryになる。
文書データを中央管理したい場合、プロファイル全体ではなくDocumentsなど既知フォルダーだけをFolder Redirectionで別場所へ向ける。
Azure Virtual Desktopでは、Microsoftは従来のローミングプロファイルよりFSLogixプロファイルコンテナーの利用を推奨している。
RDS/VDI/Azure Virtual Desktopでは、従来のローミングプロファイルだけで押し切るより、FSLogixプロファイルコンテナーを第一候補で考える場面が多い。
共有端末では、Mandatoryプロファイルと並ぶ選択肢として共有/ゲストPCの構成が使われる。
共有PCの運用では、古いプロファイルの自動削除ポリシーを組み合わせて残骸のたまりを防ぐ。
指定日数使われていないプロファイルを再起動時に削除するポリシーは、グループポリシー(ADMX_UserProfiles)で構成する。
共有パス側のサーバー名や共有名が長すぎてコピー先パス全体が長くなりすぎると、ローミングプロファイルの保存時にイベントID 1509が記録されることがある。
長いパスによるプロファイルコピーの失敗はイベントID 1509として記録され、一時プロファイルへの切り替えにつながることがある。
一時プロファイル化の原因は、Application・Operational・Diagnosticの各ログを順に確認することで切り分けられる。
NTUSER.DATやUSRCLASS.DATがRead-only属性になっている、または必要なアクセス権がないと、プロファイルの読み込みに失敗しログオン失敗や一時プロファイル化の原因になり得る。