SharePoint Online: Exportar e importar almacén de términos de colección de sitios mediante PowerShell
Requisito: Exportar e importar grupos de almacenes de términos de colecciones de sitios entre sitios de SharePoint Online.
PowerShell para exportar e importar grupos de términos de colecciones de sitios en SharePoint Online
Se puede acceder a los metadatos administrados creados en el almacén de términos del inquilino desde cualquier sitio de SharePoint Online en el inquilino de Office 365. Sin embargo, los conjuntos de términos creados localmente en una colección de sitios están limitados dentro de su colección de sitios y no se puede acceder a ellos más allá de los límites de su colección de sitios. Como no hay formas de exportar conjuntos de términos locales desde una colección de sitios, podemos usar el script de PowerShell para copiar y pegar grupos de términos en SharePoint Online.
Exportar grupos de términos de colecciones de sitios mediante PowerShell
Configure los parámetros de su entorno y ejecute el script para exportar grupos de términos de una colección de sitios a un archivo XML.
#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$FilePath = "C:\Temp\TermGroup.xml"
#Connect to Site
Connect-PnPOnline $SiteURL -Interactive
#Export Site Collection's Term Groups to XML
Export-PnPTermGroupToXml -Out $FilePath -Identity "{sitecollectiontermgroupname}"
El archivo XML exportado tendría este aspecto:
<pnp:TermGroups xmlns:pnp="https://schemas.dev.office.com/PnP/2020/02/ProvisioningSchema">
<pnp:TermGroup Name="{sitecollectiontermgroupname}" ID="00000000-0000-0000-0000-000000000000" Description="" SiteCollectionTermGroup="true" UpdateBehavior="Overwrite">
<pnp:TermSets>
<pnp:TermSet Name="Classification" ID="00000000-0000-0000-0000-000000000000" Description="" IsOpenForTermCreation="true" />
<pnp:TermSet Name="Project Classification" ID="00000000-0000-0000-0000-000000000000" Description="" IsOpenForTermCreation="true">
<pnp:Terms>
<pnp:Term Name="Development" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="1fbcc5b0-9ee7-4016-8e90-4dc29df0e602">
<pnp:Terms />
</pnp:Term>
<pnp:Term Name="Finance" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="0540c6bf-d766-4629-9092-0533d1ebfbb7">
<pnp:Terms />
</pnp:Term>
<pnp:Term Name="HR" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="e59e7042-8395-4dba-9d40-7b07af110307">
<pnp:Terms />
</pnp:Term>
<pnp:Term Name="Infrastructure" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="d31ff7c3-29a6-438c-b751-b28758a767ed">
<pnp:Terms />
</pnp:Term>
<pnp:Term Name="IT" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="5d92346c-45e9-4113-89d7-63c88cdf2680">
<pnp:Terms />
</pnp:Term>
<pnp:Term Name="Management" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="d48797a4-9055-4d39-b78d-e45178b571b2">
<pnp:Terms />
</pnp:Term>
<pnp:Term Name="Marketing" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="395ce170-a53b-4e0a-9a63-caa444e5b73e">
<pnp:Terms />
</pnp:Term>
<pnp:Term Name="Operations" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="2c1ac652-aeb3-4418-8014-f834858713d9">
<pnp:Terms />
</pnp:Term>
<pnp:Term Name="Warehouse" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="85ca4a71-0c6c-4974-89a1-ad413f19e251">
<pnp:Terms />
</pnp:Term>
</pnp:Terms>
</pnp:TermSet>
<pnp:TermSet Name="Regions" ID="00000000-0000-0000-0000-000000000000" Description="" IsOpenForTermCreation="true">
<pnp:Terms>
<pnp:Term Name="APAC" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="dadcb21f-1e86-413c-8e58-71dd899d9ac7">
<pnp:Terms />
</pnp:Term>
<pnp:Term Name="EMEA" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="77ea30de-778f-467a-a639-029cddc89ea2">
<pnp:Terms />
</pnp:Term>
<pnp:Term Name="MENA" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="f561a115-9261-4f5e-8c64-312ea7cf05e9">
<pnp:Terms />
</pnp:Term>
<pnp:Term Name="NA" ID="00000000-0000-0000-0000-000000000000" Owner="i:0#.f|membership|salaudeen@crescent.com" Description="" SourceTermId="956a35a9-4765-4824-ad56-2dbaf9abf075">
<pnp:Terms />
</pnp:Term>
</pnp:Terms>
</pnp:TermSet>
</pnp:TermSets>
</pnp:TermGroup>
</pnp:TermGroups>
Importar grupos de términos de colecciones de sitios
Una vez que tengamos listo el XML de grupos de términos, podemos importarlo a cualquier otra colección de sitios.
#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/Sales"
$FilePath = "C:\Temp\TermGroup.xml"
#Connect to Site
Connect-PnPOnline $SiteURL -Interactive
#Import Term Group from XML file
Import-PnPTermGroupFromXml -Path $FilePath
De manera similar, puede exportar e importar cualquier grupo de términos del almacén de términos entre inquilinos. P.ej.
Get-PnPTermGroup -Identity "PMO" | Export-PnPTermGroupToXml -Out "C:\Temp\TG.xml"
