When should I use PowerShell?
All the time! Early! Often! Seriously, PowerShell really shines for automating everyday tasks. It’s reliable, so users can trust that the interface is going to be the same, and so will the job on the other side. It offers repeatability and consistency, and you get built-in documentation for free.
When Microsoft introduces new functionality or settings to Microsoft 365, the interface is always PowerShell first. If you’re comfortable with PowerShell you get to play with the newest, coolest functionality first, long before it shows up in the UI. Even if your first question is: “How do I turn this blasted thing off???” The answer is PowerShell.
Above configuration, below code
The Maturity Model naturally follows a crawl, walk, run approach. Whatever your skill level is, PowerShell has a loving embrace for you. The PowerShell level of the Maturity Model for Microsoft 365 look something like this:
- Level 1 – Doing everything manually, one at a time (wishing you knew PowerShell)
- For example, SharePoint Home Site, Root Site Swap, and Site Themes are all very easy for entry level PowerShell, working at a 100 level.
- Level 2 – Single PowerShell commands to do a thing, often copying other peoples’ code and really understanding what it does.
- Level 3 – Chain things together, making PS1 files. Probably still copying someone’s work but adding increasingly levels of your own new ideas to it.
- For example, Site Designs and PnP Provisioning Templates are a little more complicated when using PowerShell, but to the non-developer, users are still able to learn and explore.
- Level 4 & 5 – Using PowerShell for proactive tasks, instead of reactive. Automating, reporting, and analysis to gain insights. Writing your code in modules and error checking. Writing your PowerShell for someone else to run. Thinking of yourself more as the toolmaker, less the tool user.
In just a few short years the PnP PowerShell went from being an obscure module for SharePoint Online that only a few folks knew about to being an indispensable tool to every Microsoft 365 admin. The old version had a laser like focus on SharePoint, but times have changed since it was a twinkle in the eye of the PnP team. To help the PnP PowerShell module give us the control we want over the entire Microsoft 365 surface a few changes had to be made.
The first big change was to the authentication. Now, the PnP PowerShell uses the Graph APIs to authenticate with Microsoft 365. This lets them make changes not only to SharePoint, but the entire platform. This means we can use it to work with Teams, Groups, Planner, or anything product in the platform.
This new module is also more than just Windows users. It will work on any platform PowerShell 7,.x runs on. This makes it easy to use the PnP PowerShell in Azure Function as well as on other devices such as Macs, Linux Boxes, Raspberry Pis, etc. Now no one has an excuse not to use the PnP PowerShell.
What are the ways you are using PowerShell at your organization? Continue the conversation on Twitter with the hashtag #AskSympraxis and mention @SympraxisC.