Skip to main content

PowerShell CSOM code to export term set from SharePoint online

 #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://abc-admin.sharepoint.com"

$ReportOutput="C:\Temp\TermStoreData.csv"

 

Try {

    #Get Credentials to connect

    $Cred = Get-Credential

    $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)


    Connect-SPOService -Url https://mmibi-admin.sharepoint.com #-Credential $Creds 

    Connect-MsolService #-Credential $Creds

 

    #Setup the context

    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($AdminURL)

    $Ctx.Credentials = $Credentials

 

     #Array to Hold Result - PSObjects

    $ResultCollection = @()

 

    #Get the term store

    $TaxonomySession=[Microsoft.SharePoint.Client.Taxonomy.TaxonomySession]::GetTaxonomySession($Ctx)

    $TermStore =$TaxonomySession.GetDefaultSiteCollectionTermStore()

    $Ctx.Load($TaxonomySession)

    $Ctx.Load($TermStore)

    $Ctx.ExecuteQuery()

 

    #Get all term groups  

    $TermGroups = $TermStore.Groups

    $Ctx.Load($TermGroups)

    $Ctx.ExecuteQuery()

 

    #Iterate through each term group

    Foreach($Group in $TermGroups)

    {

        #Get all Term sets in the Term group

        $TermSets = $Group.TermSets

        $Ctx.Load($TermSets)

        $Ctx.ExecuteQuery()

 

        #Iterate through each termsset

        Foreach($TermSet in $TermSets)

        {

            #Get all Terms from the term set

            $Terms = $TermSet.Terms

            $Ctx.Load($Terms)

            $Ctx.ExecuteQuery()

 

            #Iterate through each term

            Foreach($Term in $Terms)

            {

                $TermData = new-object PSObject

                $TermData | Add-member -membertype NoteProperty -name "Group" -Value $Group.Name

                $TermData | Add-member -membertype NoteProperty -name "TermSet" -Value $Termset.Name

                $TermData | Add-member -membertype NoteProperty -name "Term" -Value $Term.Name  

                $ResultCollection += $TermData

            }

        }

    }

    #export term store sharepoint online powershell

    $ResultCollection | Export-csv $ReportOutput -notypeinformation

 

    Write-host "Term Store Data Successfully Exported!" -ForegroundColor Green  

}

Catch {

    write-host -f Red "Error Exporting Termstore Data!" $_.Exception.Message

}

Note: If need any help please reach out to me at kamal_pandey@outlook.com 

 I would be very happy to help. 

Comments

Popular posts from this blog

PowerShell For create Sub site in office 365

#Add references to SharePoint client assemblies and authenticate to Office 365 site Add-Type -Path "\Software\SharePoint 2013 Client Browser v1.7\Microsoft.SharePoint.Client.dll" Add-Type -Path "\Software\SharePoint 2013 Client Browser v1.7\Microsoft.SharePoint.Client.Runtime.dll" $Username = Read-Host -Prompt "Please enter your username" $Password = Read-Host -Prompt "Please enter your password" -AsSecureString $Site = "https://XXXXXXX.sharepoint.com/sites/Test2/" $Context = New-Object Microsoft.SharePoint.Client.ClientContext($Site) $Creds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username,$Password) $Context.Credentials = $Creds $csvLocation = "C:\Users\PS_SiteCollectionsToCreate.csv" $csv = Import-Csv $csvLocation #List Custom Templates $Templates = $Context.Site.GetWebTemplates("1033","0") $Context.Load($Templates) $Context.ExecuteQuery() $Templates | Whe...

Build and Deploy a custom theme in SharePoint 2019: Using C# and Site features

Custom Theme and Branding are common to use cases and all kinds of business users like to have the personalized team and collaboration sites. today I am posting C# code that will help to build custom features for SharePoint 2019 site.   If need any assistance, I would be happy to help: kamal_pandey@outlook.com  ----------------------------- Code to build  custom features---------- using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.SharePoint; using Microsoft.SharePoint.Utilities; namespace SharePointBranding.Code {     public class BrandingManager     {         public SPWeb Web { get; set; }         public BrandingManager(SPWeb web)         {             Web = web;         }         public void SetMasterPage(stri...

SharePoint Framework extensions to Call Azure Function

In this article, we will talk about prerequisites, how to call Azure Function from SPFX extension, How to Create HHTP function, connect Visual Styuid editor to Azure and publish them, and Set Up CORS on the Azure Function, Create SharePoint Framework Extension, Azure Function, etc. Prerequisites :  Azure Subscriptions   VS code  Spfx Development Env  -   Step by steps details: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment  Follow the below steps to create Azure Functions in the Azure portal.  Steps by steps guide:  https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aadhttpclient-enterpriseapi    Reference :  https://docs.microsoft.com/en-us/answers/questions/430645/how-to-access-sharepoint-rest-api-in-my-function-a.html Step-1 : Login to Azure Portal (https://portal.azure.com/)   Step-2 : As highlighted below, click on the  + Create a resource, and click on “Comput...