This quirky but useful tool lets you move or copy user profiles
You recently set up a desktop OS for a user and installed a bunch of applications. A few days later, you learn that you need to change that account to a domain account, but all the configuration you did resides in a local profile. You'd love to be able to simply copy that profile from the local account to a domain account, but doing so isn't as easy as it sounds. You can't copy a profile simply by copying a few folders—you'd first need to adjust several registry settings and permissions, and those adjustments aren't well documented. You don't want to duplicate all your configuration work, so what do you do?
Microsoft Windows 2000 Server Resource Kit Supplement One contains a utility called Moveuser. This convenient—if incomplete—solution performs one useful task: It can move or copy an account profile to either another local account profile or a domain profile. (Moveuser's documentation doesn't say that you can use the utility to copy from a domain account, and I haven't been able to make Moveuser work in that way. As far as I can tell, the reason for this lack of functionality is a matter of permissions.)
Before you can use Moveuser, you must log on as someone who has the ability to create and modify user accounts on both the source and target machines. Moveuser's syntax is simple:
moveuser <sourceuser> <targetuser> \[/k\] \[/y\] \[/c:\\<computername>\]
You can express the sourceuser and targetuser names as either username or domainname\username. For example,
moveuser jane julie
takes the user account and profile of a local user named Jane and moves it to a different user account named Julie on the same computer. This process is essentially a renaming operation; after it's finished, the Jane local account and profile no longer exist, and a new Julie local account and profile appear. Alternatively, the command
moveuser jane bigfirm\julie
moves the Jane local user account to a new domain account named Julie in a domain named Bigfirm.
In both cases, Moveuser actually moves the profile, leaving only pieces of the old profile behind. If Jane were to log on after Moveuser moved her profile to Julie, Jane would find herself largely without a profile. In my experiments, attempting to log on to the source account after Moveuser does its work makes the system lock up. To copy the profile instead of moving it, add the /k option, as follows:
moveuser jane julie /k
When moving a profile, Moveuser doesn't expect to find a profile with the same name in the new location. In fact, in my experience, Moveuser not only fails in such a case but also leaves the source profile unusable.
You can use the /y option to instruct Moveuser to overwrite an existing profile. If a Julie account already exists, none of the previous Moveuser examples will work, but the following command will:
moveuser jane julie /k /y
The /y option is also a bit quirky: If a profile named Julie doesn't exist for Moveuser to overwrite, Moveuser will fail. So be sure to use the /y option only when the target account contains the profile that you tell Moveuser to overwrite.
Finally, Moveuser offers the /c: option, which you can use to instruct the tool to move accounts on a remote machine. Suppose you're sitting at a machine called PC22 and you want to move Jane's profile to Julie's. Typing
moveuser jane julie
causes Moveuser to look for a Jane account and profile on the PC22 machine. But if Jane's account and profile are on a different machine called PC99, you don't need to walk over to PC99 to use Moveuser. Just type
moveuser jane julie /c:\\pc99
If Moveuser doesn't suit your needs, remember that the Microsoft Active Directory Migration Tool (ADMT) can also move profiles. However, ADMT moves profiles only from domains to native-mode domains.