The script below allows you to change Term Set ID to a Column in SharePoint Online using Client Side Object Model.  One of my client used an MMS Field in multiple libraires without using Site Column so I had to write this script to change the ID.  You can change the script to do it on all the sites and sub sites.  You must use latest CSOM Components from Github for better performance.

 

PowerShell
Edit|Remove
$User = "jerryyasir@sharepointmvp.onmicrosoft.com" 
$Creds = Get-Credential 
 
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll" 
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll" 
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Taxonomy.dll" 
 
$site = "https://sharepointmvp.sharepoint.com" 
#Get the Client Context and Bind the Site Collection 
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($site) 
 
#Authenticate 
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Creds.UserName , $Creds.Password) 
$ctx.Credentials = $credentials 
 
#Fetch the users in Site Collection 
 
$ListTitle = "Documents" 
$FieldTitle = "Description" 
 
$Web = $ctx.Site.RootWeb 
$ctx.Load($Web$DocLib = $Web.Lists.GetByTitle($ListTitle$ctx.Load($DocLib) 
 
$Fields = $DocLib.Fields 
$ctx.Load($Fields$ctx.ExecuteQuery() 
$PrimaryTag = $Fields | Where {$_.InternalName -eq "TermRenameTest1"} 
 
$taxStore = [Microsoft.SharePoint.Client.Taxonomy.TaxonomySession]::GetTaxonomySession($ctx)   
$ctx.Load($taxStore)   
$ctx.ExecuteQuery()   
 
$termStore = $taxStore.TermStores.GetByName("Taxonomy_nWOs0zXx5ZUobXtn3QOy+A=="$Groups = $termStore.Groups   
$ctx.Load($termStore)   
$ctx.Load($Groups)   
$ctx.ExecuteQuery()   
 
$Group = $Groups.GetByName("HR Group")   
$termSet = $Group.TermSets.GetByName("New")   
$ctx.Load($termSet)   
$ctx.ExecuteQuery()   
 
if($PrimaryTag) 
{ 
  $field = [Microsoft.SharePoint.Client.ClientContext].GetMethod("CastTo").MakeGenericMethod([Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]).Invoke($ctx$PrimaryTag) 
  $field.SspId = $termStore.Id 
  $field.TermSetId = $termSet.Id 
  $field.Update() 
  $ctx.ExecuteQuery() 
} 
 
$ctx.ExecuteQuery()