Alternative to stsadm -o migrateuser


  • Perhaps this is the better spot to ask this question, since it has to do with setting up a SharePoint site collection.

    So here is the scenario, and actually a very simple thing we are trying to do.

    We have Server A with the domain name of Turner. This server is running SharePoint 2007, and the login information for the users comes from the Active Directory. We bought a new Server (Server B) with the domain name of FMS. This server is running SharePoint 2010, and the login information for the users also comes from the Active Directory. Server A and Server B are not connected to each other nor are they owned and maintained by the same company. They are stand-alone servers.

    To move the site collections over to the other server, we detach the database from Server A and FTP the DB to Server B. We then do a database attach in SQL Server and run Mount-SPContentDatabase in Powershell. Everything has worked perfectly for us, except. . .

    The usernames are still using the domain name of Turner from Server A, and we need those users to be updated to FMS from Server B. We can obviously update this manually (one at a time) by running stsadm –o migrateuser, but that is slow, cumbersome, and takes up way too much time. We also have roughly 1400 users to make updates to.

    So, I was hoping that someone has knows of a better way of doing this automatically.

    Any ideas? Thanks in advance.

    Tuesday, April 19, 2011 3:37 PM

All replies

  • Hi Kris,         


    Since the stsadm –o migrateuser commond should be run for all users one-by-one, you can create a batch script to do this. For more information about Migrateuser: Stsadm operation, see


    You can refer to the following method to create the batch file:


    1. Open a new notepad file.

    2. Add the following command with correct switch as required:

    stsadm -o migrateuser -oldlogin DOMAIN\user -newlogin DOMAIN\user [-ignoresidhistory]

    3. Copy paste the same command for as many users as we have them on the portal.

    4. Change the old user accounts to the new user accounts.

    5. Save the file with .bat format selecting the save as type as "All Files".



    Rock Wang

    Regards, Rock Wang Microsoft Online Community Support
    Thursday, April 28, 2011 8:54 AM
  • Hi,

    My company has upgraded to a new domain, I try to use the command 'stsadm -o migrateuser -oldlogin oldDomain\userA  - newlogin newDomain\userA' to move users on SharePoint 2010 to the new domain.

    But saw this error message,

    Value cannot be null.

    Parameter name: yserProfileApplicationProxy


    Anyone knows the solution?



    Friday, May 27, 2011 5:31 AM
  • Migrate user command is only supported after SP1 and June 2011 CU or higher.  Upgrade in test farm first. 

    See for additional info



    Matt Engibous

    Tuesday, August 21, 2012 8:41 PM
  • Here is a blog with a script that migrates all users.

    It's a big and powerful and I have used it a couple of times and it quicker but I have fluffed things up using it too, and prefer to use the method that Rock suggested but that can be cumbersome if you have thousands of users<o:p></o:p>

    Tuesday, August 21, 2012 9:31 PM
  • In responce to lojcn

    I got this error when I copied and paste from notepad into the command window, I discovered it didn't like the'-'s  (the dashes) I retyped those and it worked

    Tuesday, August 21, 2012 9:33 PM
  • Rock,

    I am having the same problem as Kris from 2011.  It is now 2014!  Your answer is not clear to me as it appears that you are still having to change the domain names for each user (old and new)!!  And since I have over 1,000 users that would be a bit crazy.  From the way I'm understanding it, you might as well go in and individually change each user, no?  That's what you are doing in the batch file anyway, right.  Please help me to understand how this is a better method.

    Tuesday, October 14, 2014 6:21 PM