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!
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.
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!
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!
Will the GA version have MFA support? Removing the -UseWebLogin parameter makes this unusable.
Updated: November 6th, 2020 by Veronique Lengelle
© Microsoft. This article was originally published by Microsoft's ITOps Talk Blog. You can find the original article here.