Looking for an answer in form of Microsoft's Best Practice.

when migrating from one domain to another using the same version of SharePoint, as well as an outline of the chronological steps that would need to be taken.

^^^Is building a new farm then moving and doing a database attach, then running PowerShell Move-SPUser, then fixing the custom and hard coded pieces (I.e. InfoPath, Workflows, Single lines of text Fields, etc.) manually after the database move the BEST SUPPORTED METHOD for this?

^^^IF so what are the basic steps?

=== Farm Specifics ====

Domain ABC: SharePoint 2013 Enterprise (Current on updates)

Claims Auth used:: i.e. ABC\JSmith

Moving to Domain XYZ:: i.e. XYZ\123456

1 Answer 1



==========Steps I have thus far===============


Create Service Accounts in Domain XYZ:

-SPAdmin | SPFarm | SPAppPool | SPProfile | SPWorkflows

Build New Web Front End and Application Server(s) in Domain XYZ:

-Create new service Applications | Create new web applications | deploy all 3rd party, custom solutions, as well as custom configurations in the web.config file (if any)

-Do not configure email on SharePoint Server until after all workflows are migrated over, otherwise you could flood user inboxes

Build New SQL Server (Or identify usable SQL Server) in Domain XYZ:

-Apply configurations & permissions from old ABC Domain SQL Server in new Domain XYZ SQL Server

Upgrade SharePoint Farm in both Domain ABC and Domain XYZ to latest Service Pack 1 and CU available:

-The version and build has to be the same of both farms in order for the databases to be moved from Domain ABC to Domain XYZ SQL Servers

Backup current SharePoint farm SQL Databases in Domain ABC:

-All content Databases that contain site collections that are wanted will need backed up and moved to the new SQL Server

USE [WSS_myContentDB];
BACKUP DATABASE [WSS_myContentDB] TO DISK = 'D:\SQLBackup\WSS_myContentDB\WSS_myContentDB.Bak'
    MEDIANAME = 'D_WSS_myContentDB',
    NAME = 'Full Backup of WSS_myContentDB';

Restore the ABC Domain SQL Server Database backup's in the XYZ Domain SQL Sever farm:

-Use SQL Server Management Studio to restore all the necessary DB's and take them online in SQL Server

Test and then Mount (If no issues found) the restored databases in the XYZ SQL Server using the XYZ Domain SharePoint Farm with following PowerShell Commands:

Test-SPContentDatabase -Name WSS_myContentDB -WebApplication  http://myWebApp
Mount-SPContentDatabase -Name WSS_myContentDB -WebApplication  http://myWebApp

-NOTE: Set the database in original farm to read only to avoid any updates

Run PowerShell Commands and/or use 3rd party tools to migrate SharePoint users:

-Run the "Move-SPUser" PowerShell Commands in the XYZ Domain SharePoint Farm (Remember to -ignoreSID parameter this will migrate all users from ABC domain to XYZ Domain in the User Information Tables)

$user = Get-SPUser -Identity "ABC\JSmith" -Web http://myWebApp
Move-SPUser -Identity $user -NewAlias "XYZ\123456" –IgnoreSID

-May have to use the claims identifier prefix if so it would look like:

Move-SPUser -Identity $user -NewAlias "XYZ\i:0#.w|123456" –IgnoreSID

Manually fix all custom and hard coded pieces:

-InfoPath forms (Re-publish)| Workflows (Re-publish) | Single Lines of Text fields | broken links | content redirects, possible errors in navigation | Etc.

-IF you have custom pieces such as InfoPath forms w/ workflows, General SharePoint Designer Workflows, 3rd party designed workflows, Etc. it may maybe necessary to cancel all running workflows on these in order to fix, republish, and restart them

-IF NOT DONE EARLIER Configure email on SharePoint Servers in Central Admin after all workflows are migrated over and fixed

  • 1
    @MohamedEl-QassasMVP Thank you, very nice article, good details. I especially like two points in it, first I like the script for backing up the .WSP solutions deployed in the "Source Farm" very helpful when building out the new "Destination Farm". Second very good point I liked, was once the new "Destination Farm" has been built, taking a backup before attempting ANY work, good idea. "Take a full database backup for the web application content database to enable the rollback if the migration process failed." Thanks for the comment good stuff.
    – Shane Gib.
    Apr 12, 2018 at 13:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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