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...

SharePoint Capacity Management and Sizing Overview

Capacity management   is an ongoing process, because no implementation remains static with regard to content and usage. You need to plan for growth and change, so that your SharePoint Server 2013–based environment can continue to deliver an effective business solution. Capacity Planning  is only one part of the capacity management cycle. It is the initial set of activities that brings the design architect to the point where there is an initial architecture that the architect believes will best serve the SharePoint Server 2013 deployment. The capacity management model includes additional steps to help you validate and tune the initial architecture, and provides a feedback loop for re-planning and optimizing the production environment until it can support design goals with optimal choices of hardware, topology, and configuration. Capacity management versus capacity planning Capacity management extends the concept of capacity planning to express a cyclical appr...

Convert SharePoint Date in to ConvertDateToISO - And Use for Custom Save

-------------Code ------------------------------------------- function ConvertDateToISO(dtDate) { //************************************************* //Converts Javascript dtDate to ISO 8601 standard for compatibility with SharePoint lists //Inputs: dtDate = Javascript date format (optional) //************************************************* //alert("InISOCOnversion");   var d;   if (dtDate != null)  {      //Date value supplied           d = new Date(dtDate);   }   else  {      //No date supplied, Create new date object      d = new Date();   }   //Generate ISO 8601 date/time formatted string   var s = "";   //alert(d.getFullYear());    if(d.getFullYear)    {    //alert("FullYear");          s += d.getFullYear() + "-";     }     else     {      //alert("ge...