SAPIEN Technologies strives to bring the best products to all levels of IT administration. The announcement of PowerShell Core, which is not a finished product yet, causes a lot of confusion. It is our policy that we can’t support products that haven’t been released-to-manufacturers (RTM). But this particular product, which is Open Source, is steadily taking shape thanks to both the Microsoft PowerShell Team and the contributions of the PowerShell community, so it deserves some attention.
The State of PowerShell Core
Just to be clear! PowerShell Core will not be replacing Windows PowerShell, as it’s meant to provide .NET scripting automation to non-Windows Systems. This is a good thing, as many Administrators managing Multi-OS systems can use the time invested in learning PowerShell to work across multiple platforms.
In order to understand what’s going on with PowerShell Core, check out these two Microsoft PowerShell Team Blog posts:
- PowerShell Core Roadmap: https://blogs.msdn.microsoft.com/powershell/2017/07/14/powershell-6-0-roadmap-coreclr-backwards-compatibility-and-more/
- PowerShell Core Release Candidate: https://blogs.msdn.microsoft.com/powershell/2017/11/17/powershell-core-6-release-candidate/
Reporting Windows PowerShell vs. PowerShell Core Issues
There is a big difference – Windows PowerShell is not Open Source. It’s a Microsoft product and it will remain closed source and be maintained by them. Any feedback and bug issues need to be submitted through the UserVoice PowerShell link at: https://windowsserver.uservoice.com/forums/301869-powershell
On the other hand, PowerShell Core, is Open Source and handled by both Microsoft and the community. Any feedback and bug issues need to be reported at the PowerShell Github link at: https://github.com/PowerShell/PowerShell/issues
There is a lot of information flowing through PowerShell GitHub as each issue gets discussed and resolved. Don’t be afraid to take a look at it! There are very interesting discussions and exchange of ideas.
But most importantly, they are meant to coexist side by side!
How to test-drive PowerShell Core?
There are plans to integrate PowerShell Core in our SAPIEN Products, but for now you can use PrimalScript. It’s a manual setup, as PowerShell Core needs to be added in the “Command Windows” section. Also, take the time to add Ubuntu shell (RTM) from the Microsoft Store. It’s only available on the Windows 10 September 2017 RTM release Build 16299.
For more information on how to setup PowerShell Core in PrimalScript, click on the following post: https://www.sapien.com/blog/2017/09/15/using-powershell-core-in-primalscript/
Our products keep evolving. Watch for PowerShell Core integration coming soon!
Actually, at a PowerShell Meet-up earlier this year in Boston Snover, in response to a question, said in effect that PowerShell 5.1 was the end of the line for the Windows product.
Microsoft is known to change their direction as the product keeps evolving. It will take years before PowerShell Core replace Windows Powershell. Just like what Joey Aiello mention in his “PowerShell Core Roadmap” blog post in the section “Future of Windows PowerShell“: “..will continue to be a built-in, supported component of Windows 10 and Windows Server 2016. However, it will likely not receive major feature updates or lower-priority bug fixes. With PowerShell Core, we are actively addressing bugs that may have existed in previous versions of Windows PowerShell. …”.
Keep in mind, each Microsoft application server product groups will have to task to test their Windows PowerShell module in PowerShell Core. This is a time consuming and lengthy process.
So, for now, Windows PowerShell and PowerShell Core can coexist together in Windows Operating Systems. And, most important, the learning investment you have put in PowerShell will remain valuable across platforms.
Obviously, it’ll take years for .Net Core to catch up. (And I’ll never get over the loss of ogv.) But the future is plain. pwsh 5.1 is the end of the line for pwsh as we knew it. pwsh Core is where the language is going. Proof? There’s no plan, AFAIK, to distribute pwsh 6 in Windows via the old-style management framework update. Where I live, in the cloud, for example, AWS is far ahead with 100% fidelity and capability in AWSPowerShell.NetCore. Microsoft, as you point out, is behind in its own product line with Azure RM cmdlets stuck in the legacy 5.1 environment. The language is going strong — not so much the rest of Microsoft with respect to its own products.