SharePoint Online: importar términos a un conjunto de términos desde CSV usando PowerShell
Requisito: Importar términos a un término establecido en SharePoint Online desde un archivo CSV usando PowerShell.
¿Cómo importar términos a un conjunto de términos en SharePoint Online?
En esta publicación, le mostraremos cómo crear términos de forma masiva en un conjunto de términos de SharePoint Online. Esto puede resultar útil si necesita agregar rápidamente una gran cantidad de términos a un conjunto de términos. SharePoint ofrece una forma OOTB de importar un conjunto de términos desde un CSV, pero no hay formas de crear solo términos. Entonces, usaremos un archivo CSV con un montón de términos como entrada y PowerShell para crear términos en un conjunto de términos.
Aquí está mi archivo CSV con una lista de términos para un conjunto de términos llamado "Título del trabajo" y podemos usar PowerShell para crear términos de forma masiva para un conjunto de términos.
Importar términos de SharePoint Online al conjunto de términos mediante PowerShell:
Si desea agregar términos de forma masiva a un conjunto de términos, ¡PowerShell puede ayudarlo! Esta publicación de blog le mostrará cómo importar términos a un conjunto de términos desde CSV usando PowerShell.
#Load SharePoint CSOM Assemblies
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"
#Variables for Processing
$AdminURL = "https://crescent-admin.sharepoint.com"
$TermGroupName= "People"
$TermSetName="Job Title"
$CSVFile ="C:\Temp\ImportTerms.csv"
$TermHeaderInCSV ="JobTitle"
Try {
#Get Credentials to connect
$Cred = Get-Credential
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($AdminURL)
$Ctx.Credentials = $Credentials
#Get the term store
$TaxonomySession=[Microsoft.SharePoint.Client.Taxonomy.TaxonomySession]::GetTaxonomySession($Ctx)
$TaxonomySession.UpdateCache()
$TermStore =$TaxonomySession.GetDefaultSiteCollectionTermStore()
$Ctx.Load($TaxonomySession)
$Ctx.Load($TermStore)
$Ctx.ExecuteQuery()
#Get Termstore data from CSV and iterate through each row
Import-Csv $CSVFile | ForEach-Object {
#Get the Term Group
$TermGroup=$TermStore.Groups.GetByName($TermGroupName)
#Get the term set
$TermSet = $TermGroup.TermSets.GetByName($TermSetName)
#CSV File Header Row in Term to Add
$TermName = $_.$($TermHeaderInCSV)
#Check if the given term exists already
$Terms = $TermSet.Terms
$Ctx.Load($Terms)
$Ctx.ExecuteQuery()
$Term = $Terms | Where-Object {$_.Name -eq $TermName}
If(-not $Term)
{
#Create Term Set
Write-host "Creating Term '$TermName'" -ForegroundColor Cyan
$Term = $TermSet.CreateTerm($TermName,1033,[System.Guid]::NewGuid().toString())
$Ctx.Load($Term)
$Ctx.ExecuteQuery()
$Term.TermStore.CommitAll()
$TaxonomySession.UpdateCache()
Write-host "New Term '$TermName' Added Successfully!" -ForegroundColor Green
}
else
{
Write-host "Term '$TermName' Exists Already!" -ForegroundColor Yellow
}
}
}
Catch {
write-host -f Red "Error Importing Term store Data!" $_.Exception.Message
}
Y el resultado:
Si desea importar grupos de términos, conjuntos de términos y términos desde un CSV, use: SharePoint Online: cómo agregar términos, conjuntos de términos y grupos de términos desde CSV usando PowerShell

