This is an old revision of the document!
Windows Roaming Profiles
Why Use Roaming Profiles
Upside
Roaming profiles provide valuable functionality:
Windows profiles are synchronized with a server
At logon, profiles are read from the server
At logoff, they are synchronized back to the server
Users can move to another workstation and see their personalized profile when they log in
Failure of a workstation is less of a disaster
Downside
There are down sides too:
Windows profiles tend to grow over time
Roaming profiles are a pain to set up
Profiles may be more susceptible to corruption
The Plan
Create a top-level share to hold roaming profiles
Roaming profiles are created automatically when the user logs in and logs out
Folder redirection minimizes the downside of roaming profiles
Top Level Profiles Folder
Folder Structure
This folder structure supports implementation of these four functions and permits the functions to be implemented separately at different times or together at once.
Shares
Home Directories
Roaming Profiles
Folder Redirection
E:\Shares
\Share1
\Share2
E:\Homes
\User1
\User2
E:\Profiles
E:\Redirected
\User1
\User2
\AppData
\Documents
Top-Level 'Profiles' Folder Configuration
User or Group | File/Folder Permissions (Security Tab) | Comment |
Administrators | Full Control | This Folder, Subfolders and Files |
SYSTEM | Full Control | This Folder, Subfolders and Files |
CREATOR OWNER | Full Control | Subfolders and Files Only |
Everyone | Full Control | This Folder Only |
User or Group | Share Permissions (Sharing Tab) |
Everyone | Full Control |
Note that these settings allow for the automatic creation of per-user sub-folders of the top-level 'Profiles' folder and forbid users from accessing other users' profiles.
Unless the recommended Group Policy changes are made (see below), even administrators cannot access the user profile folders without taking ownership…which will break the roaming profiles.
Use a VSS-aware backup tool to make backups.
Top-Level 'Profiles' Folder Creation
Create a folder 'Profiles'
Disable permissions inheritance
Set folder permissions per the table above
Use the Advanced option to edit permissions
Share the folder 'Profiles'
Set the share name as 'Profiles$'
The dollar symbol hides the share for better security
Leave off the $ if you prefer
Use Properties → Sharing → Advanced to create hidden shares
Set the share permissions per the table
Group Policy Settings for Roaming Profiles
See also Group Policy
Modify Group Policy
Start → Run → gpmc.msc
Right-click the container holding your computer and server objects and select Create a GPO in this domain and link it here
Name it something useful like TucsonUserPolicy
Computer Configuration → Policy → Administrative Templates → System → User Profiles
Do not check for user ownership of Roaming Profile Folders → Enable
Add the Administrators security group to roaming user profiles → Enable
Enable Roaming Profiles for Users
Modify each user with the Active Directory Users and Computers (ADUC) tool.
Browse to the container holding user objects
Hold the control key down and select all users you want to modify
Right-click one of the selected accounts → Properties
Select the Profile tab
Enable the roaming profile feature and fill in the Profile Path
\\<profile server name>\Profiles$\%username%
Click OK to save
Test by logging in at a workstation as one of the selected users
Log off, then look in the Profiles folder
If the roaming profile was not created, wait a few minutes and test again
User Profiles Troubleshooting
Check Workstation Event Log
The first troubleshooting step should be to examine the Application event log on the client computer, and determine the error.
If this is a roaming profile, be sure to check for the correct permissions on the 'Profiles' folder. Check share permissions as well as NTFS permissions.
Enable Advanced Logging
In addition to logging events in the Application Event log, User Profiles can provide a detailed log to aid troubleshooting. To create a detailed log file for user profiles, use regedit and locate the following path:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon
Create a new value called UserEnvDebugLevel as a REG_DWORD and set the value to 30002 in hexadecimal format.
The log file can be found at: %windir%\debug\usermode\userenv.log.
Delete Existing Profile Folders
You might try deleting a problem user's profile and redirected folders from the server so that they will be recreated cleanly according to your Group Policies and ADUC settings at the next user login.
Right-click My Computer → Properties → Advanced → User Profiles
View All Shares
View all shares including hidden shares (share name ending with $ symbol):
net share