This post was most recently updated on March 25th, 2023.
< 1 min read.This article describes one way how to fix seemingly non-sensical “Access denied” errors, that you get when running Set-PnPAvailablePageLayouts.
Problem
While running the PnP cmdlet for enabling or selecting the available publishing page layouts for a web, you run into this, fairly generic error: Access denied. You do not have permission to perform this action or access this resource.
PS C:\> Set-PnPAvailablePageLayouts -AllowAllPageLayouts
Set-PnPAvailablePageLayouts : Access denied. You do not have permission to perform this action or access this resource.
At line:1 char:1
+ Set-PnPAvailablePageLayouts -AllowAllPageLayouts
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (:) [Set-PnPAvailablePageLayouts], ServerUnauthorizedAccessException
+ FullyQualifiedErrorId : EXCEPTION,SharePointPnP.PowerShell.Commands.Publishing.SetAvailablePageLayouts
This error is thrown on some sites, but not all. This happens despite you having global administrator permissions on the tenant.
What gives?
Solution
The reason for this is actually kind of an old friend of ours. Enabling different layouts actually requires custom scripts to be enabled for your site!
Hence, this ended up being another easy and kind of obvious one.
The error message wasn’t very informative, but it went away after enabling custom scripts. So, with any luck, you’ll just need to enable Custom Scripts on the site – see this article for instructions:
Did it help? It sure did for me 😉
- M365 Copilot claiming “You have turned off web search in the work mode”? Easy fix! - November 19, 2024
- “Performing cleanup” – Excel is stuck with an old, conflicted file and will never recover. - November 12, 2024
- How to add multiple app URIs for your Entra app registration? - November 5, 2024