PowerShell on *nix OS
Microsoft open source licences winning strategy
PowerShell is a CLI (Command Line Interface) for Windows “power users”, developed by Microsoft to support object oriented .NET framework scripting.
IT admins oriented and one of the most utilized tools in large companies.
Few days ago, Microsoft open sourced PowerShell on GitHub. The announcement was made declaring that PowerShell team is proud of being a “community-oriented” development team inside this strange, dynamic, marvellous tech giant Microsoft has been in the last two years.
The most important part of this announcement is the support (alpha versions for now) of PowerShell on Unix based OS (Linux, OSX etc.) and that in the next months a fully supported Microsoft version will be out of beta.
Open source is the ultimate tech strategy
We live in a tech world made of “bubbles”: biotech and fintech explosions are only example of the power of information technology on our lives. And the company who can take advantage of an extensive use of its technologies and services can take a good part of the benefits of these bubbles profits.
Years ago, upon the shoulder of the well tested and diffused Microsoft Windows, was born the MSH (Microsoft Shell) project with the codename of Monad. Later it would be known with the name of PowerShell and its extensibility and the power of the OOP (Object Oriented Programming) oriented scripting features -using .NET framework- would be the paradise for IT administrators in a Microsoft-centric tech world. In fact, Windows was the most used OS in the business world and the possibility to write down scripts to execute the most complex tasks to manage every client in the companies domain was not comparable to bash features in the “rival” Linux-centric world.
Why some days ago, going against years-long strategies, Microsoft open sourced one of its most powerful tool which supports a lot of plugins and packages (Virtual Machines managers, Azure services, Microsoft Office Excel extensions etc)? It is a way to undermine Windows importance and cut-off a lot of its business market share? Of course not! It is a brilliant move: customers can now easily try to use hybrid infrastructures which rely on Windows, Linux and macOS machines. Microsoft choose to have a move toward flexibility and it is really a good time to be a developer and have a part of this changing scenario! Windows presence into development team would be no longer a “necessity” but a way to take advantage of its native services and to take advantage of its potential cooperation alongside Unix-based environments.
Open sourcing your technology is a winning strategy, if you are a tech giant or a small startup: it is a way to have your community near your development team, it improves security in software design processes and it leads to adoption of your services on a larger scale, on virtually every operating system and so on virtually every device.
Hands-on and first (happy) impressions
I downloaded the PowerShell package as soon as I was near a stable connection during my holidays in my mountain house. It happens I was with my MacBook Pro: it is not so usual, I normally run my applications on Windows 10, Linux and OS X, depending on a last moment decision or on my customers’ default OS.
I was really excited to try it out and I cannot believe to my eyes to see this screen on my terminal:
So I typed one of the very first commands I learned in my short career as IT admin on Windows envinroment (I usually run Linux servers), to display the top ten physical memory consumers on my machine.
Get-Process | Sort-Object pm –desc | Select-Object –first 10
And here it was the result to my terminal interrogation. And I was surprised to see that it was of course .NET Core answering me but it was actually faster than PowerShell on my Windows 10 native laptop!
It is an alpha version already but I cannot wait to test it on some of my more complex Linux scenarios and try out some of the most important PowerShell admin features.
If you are a cross-platform creature as I am, please be aware that a very good Visual Studio Code extension can be used on every OS to write complete .ps1 scripts. Enjoy!
I want to try PowerShell Alpha!
Well, up to you my dear: check the official release notes and installation instructions at: https://github.com/PowerShell/PowerShell/blob/master/README.md.
If you want leave below, in comments section, your opinions and… good work!