PnP PowerShell and more...

Here I occasionally post about Microsoft 365 Patterns and Practices in general and PnP PowerShell more specifically.

Composing the ultimate Pull Request for PnP

You found an issue in one of the PnP Open Source libraries and you decided to spend some time fixing it. Great! We love your input! However, we maintain the code base in our free time. Result: there will be a delay before we can look at your submission. To give you an idea, this is the work we do to get your code in to the library, as an example I will take the PnP Sites Core repository: Continue reading

Setting up your Office 365 CDN with PnP Provisioning or PnP PowerShell

2018-03-27 2 min read PowerShell SharePoint
The upcoming build of the PnP Provisioning Engine now allows you to configure your tenant CDN settings through a template. In this short post I show you how to configure your CDN with both the PnP Provisioning Engine and PnP PowerShell PnP Provisioning While the current schema (2018-01) already supports these elements, the actual engine does not implement them yet. We will release this functionality in the April 2018 (2.25.1804.0) release. Continue reading

Automatic Context Switching in PnP PowerShell

2018-03-21 2 min read PowerShell SharePoint
PnP PowerShell does something we call ‘context switching’. Let me show you how this is making your life a tiny bit easier: Connect-PnPOnline https://contoso.sharepoint.com Get-PnPList Get-PnPTenantSite This will connect first to your root site collection in your tenant, return all the lists in the site, and then the next cmdlet will show you all the (classic) site collections in your tenant. Normally you would have to connect (if you’re a developer, you have to create a new ClientContext) to your tenant admin site first in order to do this. Continue reading

Getting started with the PnP Provisioning Engine and PnP PowerShell

2018-03-19 6 min read PowerShell SharePoint
Two of the most popular cmdlets in the PnP PowerShell module are Get-PnPProvisioningTemplate and its sibling Apply-PnPProvisioningTemplate. Follow me in this post where I dive into using them and show how make the most of them in your provisioning flow. Creating a Template Okay, so while it’s totally possible to start creating a template by hand from scratch, it’s a daunting task for sure. The PnP Provisioning Engine supports so many artifacts and each artifact has so many properties, you’ll end up browsing the schema documentation for hours to come. Continue reading

PnP PowerShell and multi-factor authentication

2018-03-16 3 min read PowerShell SharePoint
If you use PnP PowerShell, you might be aware of the fact that there many many ways to authenticate towards your SharePoint Online Tenant. If you have multi-factor authentication enabled on your tenant, basically the only way for you to connect to your tenant was by using the -UseWebLogin method. The way it worked is that we launched a browser window, you authenticated, and we captured the authentication cookie that was returned by the browser. Continue reading

Cross Platform PnP PowerShell

2018-03-14 6 min read PowerShell SharePoint
For a long time I played with the thought: wouldn’t it be nice if we could use PnP PowerShell on other platforms than just Windows? I realize that the majority of you are most likely running Windows, but there is a (albeit minor) part of you that prefer to work on a Mac, and most likely even a smaller part runs on Linux. However, with the growth and functionality of Azure, another possible location to run your cmdlets show up: in a Docker image (which is based upon Linux for instance). Continue reading

The PnP PowerShell Cmdlets are now available on the PowerShell Gallery

2016-11-08 2 min read PowerShell SharePoint
Update: links updated to changed package names Until today you had basically two options to install the Office Developer Patterns and Practices PowerShell Cmdlets: you either downloaded the GitHub repository and build your own version, or you downloaded the binary installers and installed the module. While both ways will be supported in the future, I believe we have a better/easier way to distribute the cmdlets, and that’s through the PowerShell Gallery available at https://www. Continue reading
Older posts