"Set-PnPAvailablePageLayouts -AllowAllPageLayouts" returning an error "Access denied. You do not have permission to perform this action or access this resource.."

How to fix “Access denied” errors when running “Set-PnPAvailablePageLayouts”?

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 😉

mm
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments