Búsqueda de sitios web

SharePoint Online: cambiar el propietario del conjunto de términos mediante PowerShell


Requisito: Cambiar el propietario del conjunto de términos en SharePoint Online.

¿Cómo configurar el propietario del conjunto de términos en SharePoint Online?

En SharePoint Online, el propietario de un conjunto de términos es un usuario o un grupo de usuarios responsables de administrar los términos de un conjunto de términos. Cuando crea un conjunto de términos, puede designar un grupo o una persona como propietario del conjunto de términos. Establecer el propietario del conjunto de términos no le otorga ningún permiso, pero proporciona una forma útil de realizar un seguimiento de los propietarios de la empresa o las partes interesadas de un conjunto de términos.

Para establecer un propietario para el plazo establecido en SharePoint Online, haga lo siguiente:

  1. Inicie sesión en el Centro de administración de SharePoint Online >> Haga clic en el enlace "Tienda de términos" en "Servicios de contenido" en la navegación izquierda.
  2. Recorra la vista de árbol, seleccione el conjunto de términos y haga clic en el enlace "Editar" para configurar el "Propietario".

  3. Ingrese el propietario del conjunto de términos y haga clic en guardar para confirmar los cambios.

SharePoint Online: PowerShell para establecer el propietario del conjunto de términos

Utilice este PowerShell para actualizar el propietario de un conjunto de términos:


#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"
   
#Set Variables
$SiteURL= "https://crescent.sharepoint.com"
$TermGroupName = "Sectors"
$TermSetName= "Energy"
$TermSetOwner= "i:0#.f|membership|Salaudeen@Crescent.com"

#Setup Credentials to connect
$Cred = Get-Credential
 
Try {
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
 
    #Get the Taxonomy Session and Term Store
    $TaxonomySession = [Microsoft.SharePoint.Client.Taxonomy.TaxonomySession]::GetTaxonomySession($Ctx)
    $TaxonomySession.UpdateCache()
    $Ctx.Load($TaxonomySession)
    $TermStore = $TaxonomySession.GetDefaultSiteCollectionTermStore()
    $Ctx.Load($TermStore)
    $Ctx.ExecuteQuery()

    #Get the Term Group
    $TermGroup = $TermStore.Groups.GetByName($TermGroupName)
    $Ctx.Load($TermGroup)
  
    #Get the termset
    $TermSet = $TermGroup.TermSets.GetByName($TermSetName)
    $Ctx.Load($TermSet)
    $Ctx.ExecuteQuery()

    #Set Term Set Owner
    $TermSet.Owner = $TermSetOwner
    $TermStore.CommitAll()
    $Ctx.ExecuteQuery()

    Write-host -f Green "Term Set Owner has been Updated!"
}
Catch {
    write-host -f Red "Error: " $_.Exception.Message
}

De manera similar, podemos establecer el propietario del conjunto de términos para todos los conjuntos de términos del inquilino de la siguiente manera:


#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"
   
#Set Variables
$SiteURL= "https://crescent.sharepoint.com"
$TermSetOwner= "i:0#.f|membership|Salaudeen@Crescent.com"

#Setup Credentials to connect
$Cred = Get-Credential
 
Try {
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
 
    #Get the Taxonomy Session and Term Store
    $TaxonomySession = [Microsoft.SharePoint.Client.Taxonomy.TaxonomySession]::GetTaxonomySession($Ctx)
    $TaxonomySession.UpdateCache()
    $Ctx.Load($TaxonomySession)
    $TermStore = $TaxonomySession.GetDefaultSiteCollectionTermStore()
    $Ctx.Load($TermStore)
    $Ctx.ExecuteQuery()

    #Get All Term Groups
    $TermGroups = $TermStore.Groups
    $Ctx.Load($TermGroups)
    $Ctx.ExecuteQuery()
  
    ForEach($TermGroup in $TermGroups)
    {
        #Get the termset
        $TermSets = $TermGroup.TermSets
        $Ctx.Load($TermSets)
        $Ctx.ExecuteQuery()

        ForEach($TermSet in $TermSets | Where {$_.Name -ne "Orphaned Terms"})
        {
            #Set Term Set Owner
            $TermSet.Owner = $TermSetOwner
        }
    }
    $TermStore.CommitAll()
    $Ctx.ExecuteQuery()
    Write-host -f Green "Term Set Owner has been Updated for All Term Sets!"
}
Catch {
    write-host -f Red "Error: " $_.Exception.Message
}

PnP PowerShell para actualizar el propietario del conjunto de términos en SharePoint Online

Este es el método PnP PowerShell para establecer el propietario de un conjunto de términos:


#Parameters
$AdminCenterURL = "https://crescent-admin.sharepoint.com"
 
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Update Term Set
Set-PnPTermSet -Identity "Top Navigation" -TermGroup "Global Top Navigation" -Owner Steve@crescent.com

Artículos relacionados