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.
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.
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.
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.
[clarification needed] This must be done in enough time that the change is replicated to the relevant Domain Controller at the remote site.
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.
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.
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.
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.
Microsoft later released hotfixes and instructions to enable these operating systems to append ".v3" and ".v4" suffixes respectively, segregating them from cross-OS access.
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.
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.
Folder redirection may be used with mandatory profiles, and is useful in situations where it is desirable to "lock down" the general desktop appearance but still allow users to save documents to the network.
When users log off, they may expect to regularly receive an error that the profile could not successfully be copied back to the server.
In Windows 2000 and later versions, a GUI interface for setting the profilePath attribute is available in the Active Directory Users and Computers snap-in.
From many other operating systems, such LDAP attributes can be accessed e.g. with OpenLDAP command-line tools ldapsearch and ldapmodify (after SASL/GSSAPI authentication).
When the user logs off, the Windows shell calls UnloadUserProfile, which applies a similar file synchronization algorithm in the opposite direction, to allow changes made to the roaming profile to migrate back to the location where the user's roaming profile is stored.
The local files could be saved to a user's home directory on a Novell or Windows NT Domain network allowing the user to have his or her settings roam between machines, the local machine in this scenario did not require a hard drive and could have been booted from a floppy or network card.
This means that a user's roaming profile can easily be reduced to size smaller than 20MB, thus eliminating the long login times that were experienced with previous versions of AD.