In this segment, we are going to show you “How to Use PnP PowerShell.”
PnP PowerShell (Patterns and Practices PowerShell) is a set of cmdlets designed for SharePoint Online and SharePoint On-Premises environments. Developed by the SharePoint PnP community, it simplifies the management and automation of various SharePoint tasks, allowing administrators and developers to efficiently manage their SharePoint environments.
Recommended Articles
What is PnP PowerShell?
PnP PowerShell is an open-source library of PowerShell cmdlets. It provides a more intuitive and powerful set of commands than the standard SharePoint Online Management Shell. PnP PowerShell cmdlets are designed to work with SharePoint Online (Office 365) and SharePoint 2013, 2016, and 2019 On-Premises.
Key Features
Installing PnP PowerShell
To get started with PnP PowerShell, you need to install it using PowerShell. Here’s how to install it from the PowerShell Gallery:
- Open PowerShell: Run PowerShell as an administrator.
- Install PnP PowerShell:
Install-Module -Name PnP.PowerShell
- Update PnP PowerShell: If you already have it installed and want to update to the latest version:
Update-Module -Name PnP.PowerShell
PnP PowerShell itself isn’t an enterprise app you directly register with your tenant. Instead, it leverages an Azure AD application for authentication. There are two main approaches:
Register PnP PowerShell Management Application with Tenant
Method-1. Use the existing PnP Management Shell application:
This multi-tenant app is already available and offers a simplified approach. You can grant access to it using the Register-PnPManagementShellAccess
cmdlet in PnP PowerShell.
Here’s what you’ll do:
- Open PowerShell with PnP PowerShell installed and run the below command.
Register-PnPManagementShellAccess.
Optionally, you can:
- Use
-ShowConsentUrl
to get a URL for granting consent if you don’t have admin rights. Share this URL with someone who can grant access for your organization.
Method-2. Register your own Azure AD application:
This method provides more control over permissions. You’ll need to create an app registration in Azure AD and then configure PnP PowerShell to use it.
- Follow the instructions for
Register-PnPAzureADApp
in PnP PowerShell documentation [PnP Register Azure AD App ON GitHub pnp.github.io] - This cmdlet can also generate a self-signed certificate for your app registration.
Connecting to SharePoint
Before executing any PnP PowerShell cmdlets, you need to connect to your SharePoint environment. Here’s an example of how to connect to a SharePoint Online site:
Connect-PnPOnline -Url https://yourtenant.sharepoint.com/sites/yoursite -Interactive
Basic Usage Examples of PnP Powershell
1. Retrieving Site Collections:
Get-PnPTenantSite
2. Creating a New List:
New-PnPList -Title "New List" -Template GenericList
3. Adding a User to a SharePoint Group:
Add-PnPUserToGroup -LoginName user@domain.com -Identity "Group Name"
4. Uploading a File to a Document Library:
Add-PnPFile -Path "C:\path\to\file.txt" -Folder "Shared Documents"
5. Exporting and Importing a Site Template:
Get-PnPProvisioningTemplate -Out "template.xml" Apply-PnPProvisioningTemplate -Path "template.xml"
Conclusion
PnP PowerShell is an essential tool for SharePoint administrators and developers looking to streamline their workflows and manage their SharePoint environments more effectively. With its extensive command set, ease of use, and cross-platform support, PnP PowerShell can significantly enhance your SharePoint management and automation tasks. Whether you are new to SharePoint or an experienced professional, PnP PowerShell offers the tools you need to optimize your SharePoint operations.
Did you find us helpful?Support us on Patreon, follow us on Facebook, & subscribe to YouTube. |