Part 3 Migration From SharePoint 2010 to 2016
Migrate to SharePoint 2013
Set up the Web applications using Classic Authentication
Note: Set up a domain user account called <domain>\SharePointService. This may need to be a local administrator to perform the following operations.
Open SharePoint 2016 Management Shell
Whilst the following commands could in theory be all run at once, I have found it best to copy and paste a few commands at a time.
You will need to substitute your domain name for <domain>, the password for the SharePointService account for <password> and the front end server name for <server name> . You can change the port number of the MySite Web Application from 11003 to another if desired.
$Username = “<domain>\SharePointService”
$Password = convertto-securestring “<password>” -asplaintext -force
$cred = new-object management.automation.pscredential $Username ,$Password
New-SPManagedAccount $cred
New-SPWebApplication -Name “SharePoint – 80” -ApplicationPool “SharePoint – 80” -AuthenticationMethod “NTLM” -ApplicationPoolAccount “<domain>\SharePointService” -Port 80 -URL “http://<server name>”
New-SPWebApplication -Name “SharePoint – MySite” -ApplicationPool “SharePoint – MySite” -AuthenticationMethod “NTLM” -ApplicationPoolAccount “<domain>\SharePointService” -URL “http://<server name>:11003”
Upgrade the SecureStore service application
You will need to substitute your passphrase for <passphrase>.
New-SPServiceApplicationPool -Name ‘SecureStoreServiceApplicationPool’ -Account <domain>\SharePointService
$applicationPool = Get-SPServiceApplicationPool -Identity ‘SecureStoreServiceApplicationPool’
$sss = New-SPSecureStoreServiceApplication -Name ‘Secure_Store_Service’ -ApplicationPool $applicationPool -DatabaseName ‘Secure_Store_Service_DB’ -AuditingEnabled
$sssp = New-SPSecureStoreServiceApplicationProxy -Name ‘Secure_Store_Service_Proxy’ -ServiceApplication $sss -DefaultProxyGroup
Update-SPSecureStoreApplicationServerKey -Passphrase <passphrase> -ServiceApplicationProxy $sssp
Upgrade Business Data Connectivity service application
New-SPServiceApplicationPool -Name ‘BDCServiceApplicationPool’ -Account <domain>\SharePointService
$applicationPool = Get-SPServiceApplicationPool -Identity ‘BDCServiceApplicationPool’
New-SPBusinessDataCatalogServiceApplication -Name ‘BDC Service’ -ApplicationPool $applicationPool -DatabaseName ‘BDC_Service_DB’
Upgrade the Managed Metadata service application
$Username = “<domain>\SharePointService”
$Password = convertto-securestring “<password>” -asplaintext -force
$cred = new-object management.automation.pscredential $Username ,$Password
New-SPManagedAccount $cred
New-SPServiceApplicationPool -Name ‘SharePoint – Managed Metadata’ -Account <domain>\SharePointService
$applicationPool = Get-SPServiceApplicationPool -Identity ‘SharePoint – Managed Metadata’
$mms = New-SPMetadataServiceApplication -Name ‘Managed Metadata Service’ -ApplicationPool $applicationPool -DatabaseName ‘Managed_Metadata_Service_DB’
New-SPMetadataServiceApplicationProxy -Name ProxyName -ServiceApplication $mms -DefaultProxyGroup
Upgrade the User Profile service application
New-SPServiceApplicationPool -Name ‘SharePoint – User Profiles’ -Account <domain>\SharePointService
$applicationPool = Get-SPServiceApplicationPool -Identity ‘SharePoint – User Profiles’
$upa = New-SPProfileServiceApplication -Name ‘User Profiles’ -ApplicationPool $applicationPool -ProfileDBName ‘User_Profile_Service_Application_ProfileDB’ -SocialDBName
New-SPProfileServiceApplicationProxy -Name ProxyName -ServiceApplication $upa -DefaultProxyGroup
Upgrade the PerformancePoint Services service application
New-SPServiceApplicationPool -Name ‘PerformancePointServiceApplicationPool’ -Account <domain>\SharePointService
$applicationPool = Get-SPServiceApplicationPool -Identity ‘PerformancePointServiceApplicationPool’
$pps = New-SPPerformancePointServiceApplication -Name ‘PerformancePoint Service’ -ApplicationPool $applicationPool -DatabaseName ‘PerformancePoint_Service_Application_DB’
New-SPPerformancePointServiceApplicationProxy -Name ProxyName -ServiceApplication $pps -Default
Upgrade the Search service application
New-SPServiceApplicationPool -Name ‘SearchServiceApplicationPool’ -Account <domain>\SharePointService
$applicationPool = Get-SPServiceApplicationPool -Identity ‘SearchServiceApplicationPool’
$searchInst = Get-SPEnterpriseSearchServiceInstance -local
Get the Search service instance and set a variable to use in the next command
Restore-SPEnterpriseSearchServiceApplication -Name ‘Search Service Application’ -applicationpool $applicationPool -databasename ‘Search_Service_Application_DB’ -databaseserver <server name of database server> -AdminSearchServiceInstance $searchInst
$ssa = Get-SPEnterpriseSearchServiceApplication
New-SPEnterpriseSearchServiceApplicationProxy -Name ProxyName -SearchApplication $ssa
$ssap = Get-SPEnterpriseSearchServiceApplicationProxy
Add-SPServiceApplicationProxyGroupMember -member $ssap -identity ” “
Verify that all new proxies are in the default proxy group
$pg = Get-SPServiceApplicationProxyGroup -Identity ” “
$pg.Proxies
Restore WSS_Content database
Mount-SPContentDatabase -Name WSS_Content_2013 -DatabaseServer <server name of database server> -WebApplication http://<server>
Restore WSS_Content database Mysite
Mount-SPContentDatabase -Name WSS_Content_MySite -DatabaseServer <server name of database server> -WebApplication http://<server>:11003
This shows which databases need upgrading
Get-SPContentDatabase | ft Name, NeedsUpgradeIncludeChildren
Move to Claims-based authentication
Convert-SPWebApplication -Identity http://<server> -To Claims -RetainPermissions -Force
Convert-SPWebApplication -Identity http://<server>:11003 -To Claims -RetainPermissions -Force
When prompted for a value for the variable ‘From’, enter ‘Legacy’
Change to SharePoint 2013 Experience before continuing!!!!! It upgrades SharePoint to v15 ready for 2016 (SharePoint 2016 fails without it)
Back up the databases and transfer them to the new SharePoint 2016 server.