======================================
==========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]; GO BACKUP DATABASE [WSS_myContentDB] TO DISK = 'D:\SQLBackup\WSS_myContentDB\WSS_myContentDB.Bak' WITH FORMAT, COMPRESSION, MEDIANAME = 'D_WSS_myContentDB', NAME = 'Full Backup of WSS_myContentDB'; GO
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