SharePoint
Partagez et gérez du contenu, des connaissances et des applications pour dynamiser le travail... Voir plus
Script Powershell export & import template des pages
-
Script Powershell export & import template des pages
Bonjour,
Je suis entrain de copier des modèles de page d’un site SPO vers un autre, en exportant le template dans un fichier xml et puis importer le template vers le site destination
L’import ne se fait pas avec le fichier $updatedTemplateFilePath
Voici mon script :
$sourceSiteURL = “url site source”
$sites = @(“url site destination”)
$pages = @(
“Modèles/page.aspx”
)
$templateFilePath = “PnP-ProvisioningTemplate-File.xml”
$updatedTemplateFilePath = Join-Path -Path $PSScriptRoot -ChildPath “Updated-PnP-ProvisioningTemplate-File.xml”cd $PSScriptRoot
# Connexion au site source
Connect-PnPOnline -Url $sourceSiteURL -Interactiveforeach ($page in $pages) {
try {
# Exportation du modèle de la page
Export-PnPPage -Identity $page -Out $templateFilePathWrite-Host “Modèle de page $page exporté avec succès depuis $sourceSiteURL”
}
catch {
Write-Host “Une erreur s’est produite lors de l’exportation du modèle de page $page : $($_.Exception.Message)”
continue
}try {
# Charger et modifier le fichier XML
[xml]$xmlDocument = Get-Content -Path $templateFilePath -Encoding UTF8# Sélectionner la page client-side
$clientSidePage = $xmlDocument.Provisioning.Templates.ProvisioningTemplate.ClientSidePages.ClientSidePage# Modifier les propriétés souhaitées
$clientSidePage.PromoteAsTemplate = “true”
$clientSidePage.Header.Type = “Custom”$xmlDocument.Save($updatedTemplateFilePath)
}
catch {
Write-Host “Une erreur s’est produite lors de la modification du fichier XML : $($_.Exception.Message)”}
}
# Importation des modèles de page sur les sites de destination
foreach ($site in $sites) {
try {
$connection = Connect-PnPOnline -Url $site -Interactive -ReturnConnection# Application du modèle au site de destination
Invoke-PnPSiteTemplate -Path $templateFilePath -Connection $connection }
catch {
Write-Host “Une erreur s’est produite lors de l’importation du modèle de page $page sur le site $site : $($_.Exception.Message)”
}
}
Connectez-vous pour répondre.