My personal Delve Blog on my test tenant.

How to migrate your Delve Blogs content to Modern SharePoint?

You might’ve heard the news – Delve Blogs are on the way out, leaving your users without a blogging platform on Office 365, and their data homeless. And by homeless, I mean deleted pretty soon. And by pretty soon I mean really soon. Might be a good time to start thinking about storing it somewhere else instead! While we’re all still waiting to see whether Microsoft sticks to their ambitious schedule (partial content freeze in December 2019, total content freeze in January 2020, and finally,…Continue reading How to migrate your Delve Blogs content to Modern SharePoint?

Delve logo

How to export your Delve blogs content?

The news is out – Delve Blogs will be axed, leaving your users without a blogging platform on Office 365, and their data homeless. And by homeless, I mean deleted. Might be a good time to start thinking about storing it somewhere else instead! This post is the second post in my impromptu, Delve Blogs -themed blog series: Part 1: Delve Blogs getting deprecated – what do? Part 2: How to export your Delve blogs content? (this post) Part 3: How to migrate your Delve…Continue reading How to export your Delve blogs content?

"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 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…Continue reading How to fix “Access denied” errors when running “Set-PnPAvailablePageLayouts”?

SharePoint PnP logo

How to fix Add-PnPApp failing with an Access Denied error

This was a peculiar case! An issue I hadn’t run into before, and luckily a disturbingly simple fix. But first, let’s set up the scene: We were running a long-ish PowerShell script using a Global Administrator account. One part of the script was supposed to add and deploy a couple of SharePoint apps. But while running Add-PnPApp, we ran into errors: Add-PnPApp -Path $path -Scope $app.Scope -ErrorAc… , Error: {"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"en-US","value":"Access denied. You do not have permission to perform this action or access this resource."}}}…Continue reading How to fix Add-PnPApp failing with an Access Denied error

SharePoint PnP logo

New-PnPSite fails with “SiteStatus” : 3

While running “New-PnPSite” or actually any other site creation, method in PowerShell or programmatically, the site creation fails and you get an error like the one below back: New-PnPSite : {"d":{"Create":{"__metadata":{"type":"SP.Publishing.CommunicationSiteCreationResponse"}, "SiteStatus":3, "SiteUrl":""}}} Ouch! Where does this come from? In the code of New-PnPSite, the actual function call is shown below: var results = ClientContext.CreateSiteAsync(creationInformation); var returnedContext = results.GetAwaiter().GetResult(); (Source) So, the error is not thrown by PnP cmdlet, but rather comes from SharePoint CSOM. This is pretty normal and not surprising, but means we…Continue reading New-PnPSite fails with “SiteStatus” : 3

Get-MsolServicePrincipalCredential - how to get the expiration date for a clientId

Fastest way to verify your Client Id and Client Secret are valid with PowerShell

So, you have a Client Id and a Client Secret, but don’t know if they work anymore? Maybe they are expired? Maybe someone removed them? No worries! We can use PowerShell to validate them easily! Solution By using PowerShell, it’s fairly straightforward to verify, that your Client Id and Client Secret work. See the snippets below for 2 different steps: First we validate, that the values work. If they don’t, let’s run another script to see if the Client Id exists but has expired. Validate…Continue reading Fastest way to verify your Client Id and Client Secret are valid with PowerShell

SharePoint just denied your custom script from running. What do?

5 ways to enable Custom Scripts for a SharePoint site collection

This article explains how to enable custom scripting for any SharePoint site collection. This is functionally equivalent with setting setting “-DenyAddAndCustomizePages 0” or disabling the NoScript feature. Different instructions and solutions apply to SharePoint Online, and on-premises scenarios (SharePoint Server 2013, 2016 and probably 2019) – so see below for all of them. Different solutions are required to resolve the issue for different target sites: Modern SharePoint Team Sites (attached to Office Groups if on SharePoint Online, and without one if On-Premises) Modern SharePoint Communication…Continue reading 5 ways to enable Custom Scripts for a SharePoint site collection