Skip to content

Instantly share code, notes, and snippets.

Created December 1, 2015 23:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/8968bb5c08d2210c2873 to your computer and use it in GitHub Desktop.
Save anonymous/8968bb5c08d2210c2873 to your computer and use it in GitHub Desktop.
Add-PSSnapin "Microsoft.SharePoint.Powershell” –ErrorAction SilentlyContinue
#Variables start
$siteUrl = "http://intranet.ul.com/”
$termSetStoreDesc = "Managed Metadata Service”
$groupDesc = "SDC”
$termSetName = "Geographies”
$saveLoc = "D:\MigrationScripts\MMS\TermsSets_GUIDs\SDCXML.xml”
$session = new-object Microsoft.SharePoint.Taxonomy.TaxonomySession($siteUrl)
#Variables end
$XML = "<?xml version='1.0'?>”
$termStore = $session.TermStores[$termSetStoreDesc]
$XML += "<TermStore Name='" + $termStore.Name + "' GUID='" + $termStore.ID + "'>”
$group = $termStore.Groups[$groupDesc]
$XML += "<Group Name='" + $group.Name + "' GUID='" + $group.ID + "'>”
$termSet = $group.TermSets[$termSetName]
$XML += "<TermSetGroup Name='" + $termSet.Name + "' GUID='” + $termSet.ID + "'>”
$terms = $termSet.GetTerms(200)
function RenderTerm($term)
{
$result = "<Term><Name>” + $term.Name + "</Name><GUID>” + $term.ID + "</GUID>”
If ($term.TermsCount –gt 0)
{
$result += "<ChildTerms>”
Foreach ($childTerm in $term.Terms)
{
$result += RenderTerm($childTerm)
}
$result += "</ChildTerms>”
}
$result += "</Term>”
return $result
}
Foreach ($term in $terms)
{
$XML += RenderTerm($term)
}
$XML += "</TermSet></TermSetGroup></TermStore>”
$XML | out-File –FilePath $saveLoc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment