Tuesday, November 26, 2013

Moving Roaming User Profiles files to another Server using WSMT

I have tried using "robocopy" and even Windows backup to transfer roaming user profiles (RUP). There would be surely files that I couldn't move due to file permission and ownership preservation. In WS2012, there is a built-in Windows Server Migration Tool (WSMT) to facilitate the file transfer (including server roles).

Here are the steps in summary (click this link for full Technet guide):

Step 1: Install WSMT
Install WSMT feature using server manager on the target WS2012 server.  
Step 2: Register and deploy WSMT
Start an elevated cmd prompt from the WSMT tool. Create a deployment folder that is accessible to the source server. Depending on the OS of the source server, an example of the command for WS2012 (default on "C:\Windows\System32\ServerMigrationTools\") would be: 
SmigDeploy.exe /package /architecture amd64 /os WS12 /path [deployment folder path]
Copy the deployment folder to the source computer. Register and deploy the source computer by running .\Smigdeploy.exe
Step 3: Move local users and groups
To preserve local permissions, you may need to move the local users and group first. To export from the source computer: 
Export-SmigServerSetting -User All -Group -Path [storepath\UsersGroups] -Verbose
To import into the target server:
 Import-SmigServerSetting -User All -Group -Path -Verbose
Step 4: Start file moving
Before moving, permit both UDP 7000 and TCP 7000 on the windows firewall. On the target computer, start the reciever:
To begin file transferring, run the following WSMT cmdlet on the source computer 
Send-SmigServerData -ComputerName [DestinationServer] -SourcePath d:\users -DestinationPath d:\shares\users -Recurse -Include All -Force 
You may want to observe any errors at the progression update on the command prompt.


  1. This is exactly what I need to do. I am trying to migrate my roaming profiles from one Server 2012 to another Server 2012. When I try the smigdeploy command I get an error stating that the only three choices I have for the /os parameter is WS08, WS08R2, and WS03. It won't accept WS12. Have you heard of anyone having this issue? Thanks again for the blog post.

    1. It does accept WS12 option. I tested this before posting this. Be sure to install the tool using Add-WindowsFeature cmdlet or Server Manager on WS2012(R2) server.

    2. I have the same issue, where WS12 os option is not available. Running WS12 Standard. I have installed the tool using Add-WindowsFeature cmdlet. Any ideas what could be the problem?

  2. I'm sorry but this tutorial is not descriptive enough and has been almost useless to me.

  3. Great post, worked for me. I tested it with a source 2003 server and target server was 2012 R2

  4. If you run this on 2012 R2 you can specify the WS2012 flag. If you are running this on vanilla 2012 you cannot. This tool is designed to migrated from older versions of Windows not between servers of the same version.