If you’re a PowerShell enthusiast you’ve been hearing a couple things for a long time. The first is Linux admin envy for something on Windows - yes the veritable PowerShell got the attention of many a Linux afficiando. The other thing is hearing Microsoft saying “Someday PowerShell will be on Linux.”
Well someday has arrived! PowerShell is not only available on Linux, it is also now Open Source! I immediately took it off the shelf and tried it on CentOS 7. It installed with a simple rpm -i and I was immediately able to type “powershell” to enter my favorite shell on Linux.
A quick $psversiontable shows that it is running on .NET Core - Microsoft’s port of .NET for Linux (and minimal Windows systems like Nano).
Wait, .NET Core - that means I’m in for some limitations right? I wonder what they are? Here is where PowerShell’s long legacy of built-in discoverability becomes super useful! Your standard discovery commands such as Get-Help, Get-command and Get-Member are here and working!
A quick “Get-Command” shows you the list of commands. Find-Module even works for listing the packages on PowerShellGallery.com. Many of those packages are not installable yet - but I know Microsoft is working on getting a core of NuGet packaging in .NET Core - so it may not be that far away.
You might run into some skeptics - but my guess is they might be the same skeptics that thought that a new Microsoft language called “monad” was not really going to get off the ground. Monad is what you now know as PowerShell.
Time to experience your Penguin on PowerShell :)
Article and links to the packages: https://blogs.msdn.microsoft.com/powershell/2016/08/18/powershell-on-linux-and-open-source-2/
Jeffrey Snover’s announcement: https://azure.microsoft.com/en-us/blog/powershell-is-open-sourced-and-is-available-on-linux/
PowerShell Open Source Project: https://github.com/PowerShell/PowerShell