PowerShell 10th Anniversary - Open Source / Running on Linux and Mac OS X
The PowerShell Team just dropped a bombshell!
Windows PowerShell is now a cross platform technology with the availability of PowerShell on Linux and Mac !! …. AND…. The PowerShell team is Open Sourcing Windows PowerShell (.Net) and PowerShell Core (.Net Core) !! This is so Cool !!!
Today (2016/08/18) also marks the 10th Anniversary of PowerShell ! Quite a surprise that the PowerShell team prepared for us :-) Given the recent changes in leadership and culture, It is really nice to see Microsoft taking that direction.
PowerShell is now Open Source
Under the MIT License, PowerShell is now an Open Source Software (OSS).
This was made possible withthe release of the .NET Core Framework,foundational libraries called CoreFX. A framework available on Windows, OS X and Linux! .NET Core is cross-platform and open source.
PowerShell Core is fairly recent and does not offer all the cmdlets available on PowerShell yet since they don’t rely on the same Net Framework as Windows PowerShell (.NET). As a side note, Windows Server 2016 Nano Edition (aka Nano Server) is running on PowerShell Core.
PowerShell is now a Cross Platform technology
In addition to Windows Client and Server, PowerShell is now available on the following operating systems:
- Linux
- Ubuntu 14.04 \ 16.04
- CentOs 7.1
- RHEL 7
- MAC OS X
- OS X 10.11
Download / Test / Contribute
The source are located on Github on the following repository https://github.com/PowerShell/PowerShell
It also worth to note that the PowerShell Team is also providing some nice examples/demos on their GitHub repository:https://github.com/PowerShell/PowerShell/tree/master/demos
Some of the examples available:
- Managing Apache
- Desired State Configuration (DSC) to set an Apache web Server
- More information on DSC for Linux
- Managing Docker
- Managing Cron jobs via CronTab
- Using PowerShellGet
- Using PowerShell and Python including how to use JSON to exchange structured objects between Python and PowerShell.
- Invoke-WebRequest Some of those are also demoed in a video here:
Installing PowerShell Core on Linux and Mac
Here is the documentation on how to proceed with the installation of PowerShell Core on Linux and Mac.https://github.com/PowerShell/PowerShell/blob/master/docs/installation
At the time I’m writing this, I only see documentation on how to install PowerShell Core on Linux
PowerShell Core on Linux |
PowerShell Core on MAC OS X |
More information
- Windows PowerShell is now an Open Source Project with Linux support “How did we do it?- PowerShell Team Blog
- PowerShell on Linux and Open Source!- PowerShell Team Blog
- PowerShell is open sourced and is available on Linux- Azure Team Blog
- PowerShell on Linux and Open Source - Jeffery Snover (Video)
- PowerShell Open Sourcing Launch - PowerShell Team (Video)
- Open source PowerShell on Windows, Linux, and OS X!- PowerShell Magazine
- Why PowerShell on Linux is Such an Accomplishment ?- PowerShell.org
RECAP : 2006 PowerShell v1 > 2016 PowerShell v5
Here is a small recap of the previous version of powershell over the last 10 years with some of most important features introduced for each versions
Source: Wikipedia (https://en.wikipedia.org/wiki/Windows_PowerShell)
PowerShell v1 (2006)
PowerShell 1.0 was released in November 2006 for Windows XP SP2, Windows Server 2003 and Windows Vista. It is an optional component of Windows Server 2008.
PowerShell v2 (2008)
PowerShell 2.0 is integrated with Windows 7 and Windows Server 2008 R2 and is released for Windows XP with Service Pack 3, Windows Server 2003 with Service Pack 2, and Windows Vista with Service Pack 1.
PowerShell V2 includes changes to the scripting language and hosting API, in addition to including more than 240 new cmdlets.
Some of the features:
- PowerShell Remoting
- Background Jobs
- Transactions
- Modules
- Debugging
- Eventing
- PowerShell ISE
- …
PowerShell v3 (2012)
Some of the features:
- Scheduled Jobs
- Web Cmdlets
- AST
- Workflow
- CIM Cmdlets
PowerShell v4 (2013)
Some of the features:
- Desired State Configuration (DSC)
- Save-Help
- Remote Debugging
- PowerShell Web Access (PWA)
- PSReadLine
PowerShell v5 (2016)
Some of the features:
- PowerShell Classes
- Pester
- PowerShell JEA (Just Enought Administration)
- PacketManagement (OneGet)
- Debugging Runspaces in remote processes
- Debugging PowerShell Background jobs
- Desired State Configuration (DSC) Local Configuration Management (LCM) v2
- DSC Partial Configurations
- DSC LCM meta-Configuration
- Authoring DSC Resource
- Script Analyzer
PowerShell v5.1 (2016)
Some of the features:
- PacketManagement (Support for proxies)
- PSReadline (VIMode)
- LocalAccount module
Leave a comment