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

[玩转系统] SharePoint Online:使用 PowerShell 将术语从 CSV 导入术语集

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

SharePoint Online:使用 PowerShell 将术语从 CSV 导入术语集


要求:使用 PowerShell 将术语从 CSV 文件导入到 SharePoint Online 中的术语集。

如何将术语导入 SharePoint Online 中的术语集?

在本文中,我们将向您展示如何在 SharePoint Online 术语集中批量创建术语。如果您需要快速将大量术语添加到术语集,这可能会很有帮助。 SharePoint 提供了一种从 CSV 导入术语集的 OOTB 方法,但无法仅创建术语。因此,我们将使用包含一堆术语的 CSV 文件作为输入,并使用 PowerShell 在术语集中创建术语。

这是我的 CSV 文件,其中包含名为“职位名称”的术语集的术语列表,我们可以使用 PowerShell 批量创建术语集的术语。

[玩转系统] SharePoint Online:使用 PowerShell 将术语从 CSV 导入术语集

使用 PowerShell 将 SharePoint Online 术语导入术语集:

如果您想向术语集批量添加术语,PowerShell 可以提供帮助!本博文将向您展示如何使用 PowerShell 将术语从 CSV 导入术语集。


#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= "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
} 

结果:

[玩转系统] SharePoint Online:使用 PowerShell 将术语从 CSV 导入术语集

如果要从 CSV 导入术语组、术语集和术语,请使用:SharePoint Online:如何使用 PowerShell 从 CSV 添加术语、术语集和术语组

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

取消回复欢迎 发表评论:

关灯