C:\Documents and Settings\{username}   Application Data   Cookies   Desktop   Favorites   Local Settings     Application Data     History     Temp     Temporary Internet Files   My Documents     My Music     My Pictures     My Videos   Recent   NetHood   PrintHood   SendTo   Start Menu   Templates   NTUSER.DAT   ntuser.dat.LOG   ntuser.ini Folder layout of typical Windows 2000/XP user profile. Normally everything except the items within "Local Settings" is stored on the file server as part of a roaming profile.

A roaming user profile is a file synchronization concept in the Windows NT family of operating systems that allows users with a computer joined to a Windows domain to log on to any computer on the same domain and access their documents and have a consistent desktop experience, such as applications remembering toolbar positions and preferences, or the desktop appearance staying the same, while keeping all related files stored locally, to not continuously depend on a fast and reliable network connection to a file server.

Method of operation All Windows operating systems since Windows NT 3.1 are designed to support roaming profiles. Normally, a standalone computer stores the user's documents, desktop items, application preferences, and desktop appearance on the local computer in two divided sections, consisting of the portion that could roam plus an additional temporary portion containing items such as the web browser cache. The Windows Registry is similarly divided to support roaming; there are System and Local Machine hives that stay on the local computer, plus a separate User hive (HKEY_CURRENT_USER) designed to be able to roam with the user profile.

When a roaming user is created, the user's profile information is instead stored on a centralized file server accessible from any network-joined desktop computer. The login prompt on the local computer checks to see if the user exists in the domain rather than on the local computer; no pre-existing account is required on the local computer. If the domain login is successful, the roaming profile is copied from the central file server to the desktop computer, and a local account is created for the user.

When the user logs off from the desktop computer, the user's roaming profile is merged from the local computer back to the central file server, not including the temporary local profile items. Because this is a merge and not a move/delete, the user's profile information remains on the local computer in addition to being merged to the network.

When the user logs in on a second desktop computer, this process repeats, merging the roaming profile from the server to the second desktop computer, and then merging back from the desktop to the server when the user logs off.

When the user returns to the first desktop computer and logs in, the roaming profile is merged with the previous profile information, replacing it. If profile caching is enabled, the server is capable of merging only the newest files to the local computer, reusing the existing local files that have not changed since the last login, and thereby speeding up the login process.

Limitations

Performance

Due to the profile copying at login and logout, a roaming profile set up using the default configuration can be extremely slow and waste considerable amounts of time for users with large amounts of data in their account.

When Microsoft designed Internet Explorer, the programmers made an explicit decision to store cookies and favorites as tiny individual files less than a kilobyte each, rather than storing this data as a single large consolidated file. Microsoft also stores shortcut files in the Recent profile folder, linking to recently opened files and folders.

File servers tend to only transfer large files several megabytes in size at the fastest possible network speed. Hundreds of very small files only a kilobyte per file can reduce network performance by 90%. As a profile ages and accumulates hundreds to thousands of cookies, favorites, and Recent items, the login and logout times become progressively slower, even though these files occupy only a few megabytes of profile data.

Local caching of the user profile on a desktop computer hard drive can reduce and improve login and logout times, but at the penalty of cluttering up the hard drive with profile data from every cached user who logs in. Local caching is more suitable where people tend to use the same computer every day. Local profile caching is not useful where hundreds to thousands of students need to be able to use any computer across a school or university campus—the cumulative cached data from so many different profiles can consume all available lab computer disk space.

WAN links Users with a roaming profile can encounter crippling logon delays when logging in over a WAN. If connected to the domain from a remote site, after authentication, Windows will attempt to pull the user's profile from the location specified in Active Directory. If the location happens to be across a WAN link it can potentially slow the WAN down to a crawl and cause the logon to fail (after a very lengthy delay).

This must be done in enough time that the change is replicated to the relevant Domain Controller at the remote site.

Profile size Working with large files, such as editing raw videos, can cause excessive login and logout times, as Windows will copy files in the roaming profile to the computer on login and back to the server on logout.

In environments where the large files are not mission-critical and do not absolutely need to be backed up to a server on a per-login basis, the applications requiring such excessively large amounts of user data are instead usually run on a stand-alone local account that does not roam, to bypass these network storage and retrieval problems.

Network congestion In a school environment, roaming can result in severe network congestion and slowness when an entire classroom of students log off computers at the same time, and then within minutes are attempting to log in somewhere else. Inconsistency in account data can result if the students begin to log into the second location before the profile uploading and log out from the first location has finished.

Misbehaving programs don't exit Some programs installed on desktop computers do not properly release control of the User registry during logoff, and can result in corrupted profiles because the User registry copying never successfully completes. To deal with this, Microsoft created a utility known as the User Profile Hive Cleanup Service which will forcibly remap the file handles for these misbehaving programs so that the profile copying can finish successfully and the account logoff is successful. However, the hung program may remain on the local computer still holding the local cached copy of the User registry in a busy state, until the computer is rebooted.

Synchronization at logoff The most recent version of a file in a roaming profile without redirection is stored only on the local computer, and stays there until the user logs off, whereupon it transfers to the server. If nightly server backups are done, and a roaming user does not log off for days at a time, their roaming account documents are not being included in the nightly backup.

Further, if a roaming user uses standby or hibernation to turn off the computer at night, their profile is still not copied to the network. In this manner it is possible for a roaming account's documents to not be backed up for days to weeks at a time, and there is the potential for considerable data loss if the local hard drive suffers a catastrophic failure during these long periods of not logging off the roaming account from the local computer.

Access conflict Due to the underlying file copying mechanism from server to desktop, roaming assumes the user account is logged on to only a single computer at a time. Documents in a roaming profile copied down to the local machine have no network awareness of each other, and it is not possible to use file locking to alert the user that the file is already open.

Logging onto multiple computers with one account, and opening the same document multiple times on each computer can result in inconsistencies and loss of saved changes if the file is modified on two different computers at the same time: When the first computer with the modified document logs off, the changes are written to the network copy of the profile. When the second computer logs off, the different document version overwrites the previously saved changes during profile logout.

Compatibility Different versions of Windows may employ different incompatible user profile layouts. As such, a user that roams between computers with different operating systems needs separate roaming profiles for each operating system. Windows Vista and Windows 7 add ".v2" suffix to the user profile folder to isolate it from the user profiles of Windows XP and earlier. Even so, Microsoft TechNet advises users not roam between computers running Windows Vista/Windows Server 2008 and Windows 7/Windows Server 2008 R2. User profiles in Windows 8/Windows Server 2012 and Windows 8.1/Windows Server 2012 R2 are also not entirely backward-compatible, although they initially used ".v2" suffix as well. Microsoft later released hotfixes and instructions to enable these operating systems to append ".v3" and ".v4" suffixes respectively, segregating them from cross-OS access.

Folder redirection

To deal with these profile copying problems, it is possible to override the default operation of roaming, and set up user accounts so that certain parts of the profile are accessed by the local computer directly on a central file server rather than copying to the local computer first.Microsoft TechNet, Windows Server 2008, Group Policy Management, User Folder Redirection, Folder Redirection Overview If the server goes down, users can still access some files with Offline Files Enhancements.

To the end-user, folder redirection generally does not appear to function any differently from using a normal standalone computer. Redirecting the user's My Documents and Desktop to be accessed directly on a file server are the first two big steps for speeding up roaming profiles. However, as 3rd party software have begun to store more and more data in the Application Data portion of the roaming profile, it has also become useful to redirect that to also be accessed directly on the server.

The question may be raised as to why the entire roaming profile can not be accessed directly on the server, and no copying needs to be done at all. The reasoning for this appears to be that certain Microsoft programs running all the time on the client computer can not tolerate the sudden loss of their data folders if the server goes down or the network is disconnected. Some portions must still be copied back and forth before the desktop appears so that these folders are available if the network-redirected folders go down.

Caveats

Some programs do not work properly with redirected profile folders that refer to a UNC file path on a server share:

Unless the registry entry

is set, Windows' Command Processor cannot have a UNC working directory, so batch files usually fail. It is not possible to install Microsoft Office VSTO add-ins on a UNC path. (AppData can be a natural place for users to install addins without administration privileges.) Adobe Reader has been incompatible with Application Data located on a UNC file path since at least version 9.0, which would crash with a runtime error.Adobe knowledge-base: Runtime error | Roaming Profile workflows | Acrobat, Reader 9 http://kb2.adobe.com/cps/404/kb404597.html Adobe Reader X (10.0) is partially compatible but will not run in document protection mode on a UNC path.