Script Powershell export & import template des pages

Étiquetté : , , ,

  • Script Powershell export & import template des pages

    Posté par Hamza sur 28 mai 2024 à 15h38

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

    foreach ($page in $pages) {
    try {
    # Exportation du modèle de la page
    Export-PnPPage -Identity $page -Out $templateFilePath

    Write-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)”
    }
    }

    R3dKap a répondu Il y a 4 mois, 1 semaine 2 Membres · 1 Réponse
  • 1 Réponse
  • R3dKap

    Membre
    10 juin 2024 à 10h59

    Salut Hamza,

    Est-ce que l’export/import fonctionne déjà sans modifier la page entre les 2 ?

Connectez-vous pour répondre.