How to Manage SharePoint and Microsoft Teams with PowerShell Core
Published Oct 27 2020 12:01 AM 10K Views
If you're as addicted as I am with SharePoint, you might be glad to know that managing SharePoint is now possible with PowerShell Core!

 

What is PowerShell Core?

PowerShell is an automation scripting language from Microsoft, which was originally only available on Windows devices, and built on top of the .NET Framework. Since 2016, we also have PowerShell Core which is open-source, cross-platform, and built on top of .NET Core.

 

The version that ships on Windows devices is called Windows PowerShell (latest is version 5.1), and the cross-platform version is called PowerShell Core (currently version 7) and is also available on Windows.

 

Why is it important?

Knowing that Windows PowerShell (5.1) is not going to have new features, but only security fixes, we shall see PowerShell Core as the future. Therefore, it was a no brainer that one of the most important platforms should still be manageable with PowerShell.

 

How did this happen?

If you're familiar with PowerShell for SharePoint, there's a big chance that you're also familiar a module called PowerShell PnP (or at least heard of). This module was created by Erwin van Hunen (MVP) and is also Community driven. Currently, it has 450+ cmdlets and has been a life saver for many of us!

 

The PnP.PowerShell module will be the successor or the PnP-PowerShell (aka SharePointPnPPowerShell).
 
PnPCmdletsCount.png

 

Are there any changes?

Yes, mainly in the authentication process.
- Classic credential based authentication has changed
- UseWebLogin parameter is not available anymore

 

Cmdlets will remain the same, so we won't have to adjust to a different format. It's PowerShell after all!

 

What about the new Microsoft Teams cmdlets?

They are still here! So it means you'll also be able to use the PnP.PowerShell module to manage Teams on PowerShell Core.

 

TeamsCmdlets.png

 

Is it available yet?

Yes, in pre-release and any new updates are done during nightly build. I believe December 2020 has been set as a target month for the module to be GA (General Availability).
 
For more details and a roadmap on PnP.PowerShell (on PSCore), please have a look at Erwin's blog post.

 

Important to know

Some decisions needed to be made to have a proficient and maintainable module. Therefore, the current PowerShell PnP like we know it on Windows PowerShell (5.1) will not be worked on from December 2020.

 

Also, ONLY SharePoint Online will be supported instead of (currently) SP2013, SP2016, and SP2019 with the old module. That's something important to be aware of.

 

Contribute to the Github repository

Repo maintainers always welcome new contributions, as small as they may be (i.e.: fix a typo, update documentation, etc...). Go contribute to the PnP.PowerShell module!

 

Next steps

Your next steps should be to install PowerShell Core on your machine if not already done (Windows, MacOS, or Linux), download the new PnP.PowerShell module, and test it out!

 

 
1 Comment
Version history
Last update:
‎Oct 22 2020 10:06 AM
Updated by: