We are currently looking for a solution to migrate user data from one PC to another. Our PC's are leased and have to be replaced every few years. We have over 400 locations in rural parts of North America. Only a handful of these locations (20 maybe) have servers at the location. We have a hub and spoke network. All traffic comes back to the corporate office before being routed to the internet.

With all of that said, we are looking for a more efficient way to migrate user data from an old PC to a new PC when a user receives a new PC. Here are a couple of options we have explored--

  • Configure some sort of cloud repository (Azure, AWS, etc) where we can backup user profiles and download them to the new machine once it is received.

  • Purchase NAS devices or small servers for the locations and backup all user data to those devices. Download the data to the new machine when it arrives.

  • Enable roaming profiles (Active Directory) for users who are having their machines replaced. Sync the profile data to the roaming profile share. Download the roaming profile to the new machine when it arrives. Disable the user from using roaming profiles after they have initially downloaded the profile. Of course, this download will occur over our WAN.

  • Write a robocopy script and run as a scheduled task to backup all profiles on all PC's at a location and store them on a share on one PC at the location. New PC's could download the profile data from that PC when the new PC's arrive.

We are trying to keep from hammering our WAN when moving the user data which is a problem since we're a hub and spoke network. Most of the locations have PC's only so it becomes a challenge to move user data on the locations LAN only. We have looked at using Microsoft's MDT and USMT to transfer user data, but we're concerned it will be too cumbersome to the end user and cause more Help Desk calls as a result of confusion.

Does anyone have any experience with a situation like this? Any advice would be appreciated. As of now, our two most likely options to test are roaming profiles and cloud repositories.


  • I like the Robocopy script idea based on what you explain here and having a central PC acting as a file server to migrate the profile data from the old to the new PC on the same local data network. I would go with Roaming Profiles secondly but that'll hammer your WAN for sure if there are huge files, etc. You'd want to script out the data to copy though e.g. desktop, my docs, IE favorites, Outlook autocomplete files, etc. I'm not sure how you handle printers and network mapped drives but hopefully through AD login scripts or Group Policy/GP Preferences. – Pimp Juice IT Jul 28 '16 at 15:54
  • The end-users would need to ensure they store all their data to be migrated over to standard locations if you are going to script it though. I'm not sure if there are exceptions in this respect such as root "C" drive folders and so on but something to consider. – Pimp Juice IT Jul 28 '16 at 15:55

A previous employer migrated a bunch of user profiles when they moved from workgroups (with 5000+ PCs) to active directory. A couple of years before that, we also upgraded the machines from Windows 2000 to Windows XP. In both cases, we used a third party tool named PC Transplant.

The OS upgrade involved (fully scripted):

  1. Back up old machine to server share (pull image).
  2. Pull profile and put on share.
  3. Reimage PC with new OS.
  4. Restore profile
  5. Put image backup on reimaged PC's D drive to save space on server share.

For the AD migration, our Microsoft consultant said he migrated users to a new domain with group policy logoff and logon scripts that pulled and restored the profile. He used robocopy scripts. We weren't able to use it because we didn't have a domain yet, but you certainly could. (We scripted something that migrated the profile from a local to a domain account on the same machine, as part of a larger set of scripts.)

What I'm getting at is: There are multiple good ways to do it. I really liked the logoff/logon script idea, though.

[Edit in response to comment]

Okay, if you don't want to store anything on a server, issue a cross cable to your desktop techs (or temps), re-ip the old and new machines, and kick off the scripts manually. We've done that, too. After the transfer is complete, set the new machine back to DHCP and haul the old machine away.

  • Thanks, like I said the challenge with our environment is that many locations do not have a server and we don't want to pull user profiles over the WAN. Shipping a new PC that is already imaged is no problem. The problem comes when we want to copy the user profile over to the new PC via the LAN. – wf88 Jul 28 '16 at 19:03
  • Edited. Hopefully that'll work better for you. – Katherine Villyard Jul 29 '16 at 20:01

Prepare the new machine and send it to the user, and ask him to plug it to a second port. Ask him to leave both started and migrate the data (with a simple copy)

We do that at my job, but we have an Exchange, thus except some work document and IE favorite, their is nothing much to save. (and we push most of the application too)

The only thing that some user hate is the outlook autocomplete for email, you need a special intervention to copy it as its saved locally outside of the exchange.

  • Many of our locations are very small and do not have a second port available at times. – wf88 Jul 28 '16 at 18:10

we have migrated several users home-folder and network shared, printers several times.

The best thing we use to copy is Kls backup software we use sync option to keep data update, use for 30days you can directly upload to azure,amazon

for roaming profile we you can set profile path and make it null later. But before doing clean up temp folders and files, schedule a task to run Ccleaner + windows cleanmgr other program to clean up user temp files,folder.

Or else it a mess when server gets filled with unnecessary temp files.

get-aduser -filter {Enabled -eq "True"} -properties Profilepath| where {$_.Profilepath -eq $null} | % {Set-ADUser $_ -ProfilePath ('\\storage1\profiles\' + $_.SamAccountName) }

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.