当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint Online:使用 PowerShell 删除术语集

作者:精品下载站 日期:2024-12-14 21:04:30 浏览:14 分类:玩电脑

SharePoint Online:使用 PowerShell 删除术语集


要求:删除 SharePoint Online 中的术语集。

如何删除 SharePoint Online 中的术语集?

在 SharePoint Online 中,您可以删除不再需要的术语集。删除术语集可以帮助您保持术语库井井有条并减少混乱。在本文中,我们将讨论如何删除 SharePoint Online 中的术语集。

要从 SharePoint Online 术语库中删除术语集,请执行以下步骤:

  1. 登录到您的 SharePoint Online 管理中心网站。 (例如,https://yourdomain-admin.sharepoint.com)
  2. 展开“内容服务”,然后单击左侧导航菜单上的“术语存储”链接。
  3. 现在,您可以从术语库导航到要删除的术语集,然后从其上下文菜单中单击“删除术语集”。
  4. 单击“删除”按钮确认“删除术语集”弹出窗口。这将删除已删除术语集下的所有术语,并且所有正在使用的术语都将移至“系统”术语组下的“孤立术语”。

    [玩转系统] SharePoint Online:使用 PowerShell 删除术语集

删除术语集后,您可以通过刷新术语库管理工具页面并检查术语集是否不再列出来验证术语集是否已被删除。您还可以返回到包含术语集的组并确认术语集已被删除。

您还可以使用经典术语存储:SharePoint 管理中心左侧导航栏中的更多功能>>术语存储。 (URL快捷方式:https://tenant-admin.sharepoint.com/_layouts/15/TermStoreManager.aspx)

  1. 从分类树视图中,展开并选择要删除的术语集。单击术语集中的小箭头 >> 选择“删除术语集”选项。

    [玩转系统] SharePoint Online:使用 PowerShell 删除术语集

  2. 确认一次提示以从 SharePoint Online 术语库中删除术语集。

PowerShell 用于删除 SharePoint Online 中的术语集

我们还可以使用 PowerShell 以编程方式删除术语集。


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Taxonomy.dll"
  
#Variables for Processing
$AdminURL = "https://crescent-admin.sharepoint.com/"
$TermGroupName ="Regions"
$TermsetName="MENA"

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) 
    $TermStore =$TaxonomySession.GetDefaultSiteCollectionTermStore()
    $Ctx.Load($TaxonomySession)
    $Ctx.Load($TermStore)
    $Ctx.ExecuteQuery()

    #Get the term group    
    $TermGroup=$TermStore.Groups.GetByName($TermGroupName)

    #Get the term set to delete
    $TermSet = $TermGroup.TermSets.GetByName($TermsetName)

    #Delete the term set
    $TermSet.DeleteObject()
    $Ctx.ExecuteQuery()

    Write-host "Term Set '$TermSetName' Deleted Successfully!" -ForegroundColor Green
}
Catch {
    write-host -f Red "Error Deleting Term Set!" $_.Exception.Message
} 

从 SharePoint Online 术语组中删除所有术语集:

从术语组中删除所有术语集怎么样?


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Taxonomy.dll"
  
#Variables for Processing
$AdminURL = "https://crescent-admin.sharepoint.com/"
$TermGroupName ="Regions"

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) 
    $TermStore =$TaxonomySession.GetDefaultSiteCollectionTermStore()
    $Ctx.Load($TaxonomySession)
    $Ctx.Load($TermStore)
    $Ctx.ExecuteQuery()

    #Get the term group    
    $TermGroups = $TermStore.Groups
    $Ctx.Load($TermGroups)
    $Ctx.ExecuteQuery()
    $TermGroup = $TermGroups | Where-Object {$_.Name -eq $TermGroupName}
     
    If($TermGroup -ne $NULL)
    {
        #Delete all Term sets in the Term group
        $TermSets = $TermGroup.TermSets
        $Ctx.Load($TermSets)
        $Ctx.ExecuteQuery()

        #Delete all Term Sets from the Group
        $TermSets | Foreach-object {
            $_.DeleteObject()
            $Ctx.ExecuteQuery()
        }
     
        Write-host "All Term Sets Deleted Successfully from the Term Group '$TermGroupName'!" -ForegroundColor Green
    }
    else
    {
        Write-host "Term Group '$TermGroupName' Doesn't Exist!" -ForegroundColor Yellow
    } 
}
Catch {
    write-host -f Red "Error Deleting Term Sets!" $_.Exception.Message
}

用于删除 SharePoint Online 中的术语集的 PnP PowerShell:

PnP PowerShell 使其变得更加简单!只需提供Remove-PnPTaxonomyItem cmdlet 的术语集路径即可。


#Config Variable
$AdminCenterURL = "https://Crescent-admin.sharepoint.com"

#Connect to PnP Online
Connect-PnPOnline -Url $AdminCenterURL -Credentials (Get-Credential)

#Delete the Term set "regions" under "Deals Pipeline" Group
Remove-PnPTaxonomyItem "Deals Pipeline|Region" -Force

这将从“交易管道”组中删除“区域”术语集。

[玩转系统] SharePoint Online:使用 PowerShell 删除术语集

请注意,删除术语集也会删除该术语集中的所有术语。如果您想保留这些术语,您应该考虑将它们移至不同的术语集。在本文中,我们解释了如何删除不再需要的术语集,这将帮助您保持术语库井井有条。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯