Using ShareGate PowerShell to Download SharePoint Content

You might be surprised by the title of this post. Isn’t our goal to get everyone’s content *into* SharePoint? Usually that’s the case, for sure. But many times, in the course of a migration from an older (usually on premises) version of SharePoint, we identify whole sites or branches of subsites that simply don’t have…

Get All the Public or Private Team Sites in SharePoint with PnP.PowerShell

When you create a Team Site in SharePoint, you have an option to set the Team Site as: Public – anyone in the organization can access this site, or Private – only members can access this site Many people don’t know what the effect this setting has – I need to remind myself from time…

Clean Up Unwanted Site Columns from Content Types and Lists/Libraries

Another day, another chunk of PowerShell. Sometimes when we iteratively build out our information architecture, we’re over-zealous. It seems like we need a set of Site Columns to maintain metadata on lists or libraries, but in the end, we decide we want to trim away a few of the Site Columns we’ve created. Or, maybe…

Grant Permissions to All Communication Sites Associated with a Hub Site

This isn’t rocket science, but it’s something I do often enough that I want to lodge the PowerShell in a post instead of continuing to rewrite it. When we are building an Intranet, we often want to grant permissions for all the Communication Sites to a small set of people during the testing process. This…

PnP PowerShell to Retrieve SharePoint List Items: Get-PnPListItem with -Query

This should be one of the most obvious tools in the toolkit. PnP PowerShell is awesome, and we so often want to retrieve a set of items in a list. Get-PnPListItem is the magic cmdlet to do so. This post is yet another of the many where I get to admit being an idiot about…