Today I tried to export a site as a PnP template and I was getting an annoying error:
Get-PnPProvisioningTemplate : Cannot invoke method or retrieve property from null object. Object returned by the following call stack is null.
“ListItemAllFields
”
At D:\Temp\DMPowershell\GetPnPTemplateClients.ps1:9 char:1
+ Get-PnPProvisioningTemplate -Web $sourceWeb -Out “d:\Temp\DMPowershel …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (:) [Get-PnPProvisioningTemplate], ServerException
+ FullyQualifiedErrorId : EXCEPTION,SharePointPnP.PowerShell.Commands.Provisioning.GetProvisioningTemplate
Quite quickly I found out that it had something to do with the Welcome Page. My page was set to:
https:/ /tenant.sharepoint.com/clients/Lists/ClientList/AllItems.aspx
Ah, that is a list view.
First I wasn’t sure what to do and I logged the issue on the tech community site.
Then after the bi-weekly pizza Friday lunch we have at my work and I got my brain into gear, I found a good solution.
The Get-PnPProvisioningTemplate has an option to exclude Page contents. And as my site in this case doesn’t have any pages that are in use I could savely export my template using:
Get-PnPProvisioningTemplate … -ExcludeHandlers PageContents
The site is now exported while my welcome page is set to the list view.