I would like to save a few SharePoint Online sites as template for future use with PowerShell. How can I do this? I found code snippets for 2013 but they do not seem to work, I'm missing methods, cannot retrieve the web object (no Get-SPWeb
), thus no .SaveAsTemplate
. What are my options? I have 100+ different sites to save.
Update: All my different sites that I want to make template of, are under a site collection. This is how far I am with the PnP Powershell:
$WebURL = "myroot"
Connect-PnPOnline –Url $WebURL -Credentials $credential
foreach ($web in Get-PnPSubWebs -Recurse) {
$url = $web.url
Connect-PnPOnline –Url $web.url –Credentials $credential
$filename = $url -replace $WebURL, "" -replace "/", "_" -replace ":", "|"
$filename += ".xml"
$path = "C:\Temp\$filename"
Get-PnPProvisioningTemplate -Force -Out $path -PersistBrandingFiles -PersistPublishingFiles
}
I get the templates, I can also use them, but the web parts are missing (xml view web parts, content query web parts)