PowerShell is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and the associated scripting language. Initially a Windows component only, known as Windows PowerShell, it was made open-source and cross-platform on 18 August 2016 with the introduction of PowerShell Core. The former is built on the .NET Framework, the latter on .NET Core.

PowerShell 6.0 is a new version of PowerShell that is cross-platform software, meaning it is available for the leading desktop operating systems which includes Windows, Mac, and Linux. It’s also built for heterogeneous environments and the hybrid cloud.

In PowerShell 6.0, the PowerShell Core switches from .NET Framework to .NET Core. PowerShell Core uses .NET Core 2.0 as its runtime. Windows PowerShell used the .NET Framework runtime to host the PowerShell engine.

With 304 non-merge commits since v6.0.0-alpha.7, here are the major changes:

  • PowerSell packages pre-compiled with CrossGen
  • Get-Help content added
  • Get-Help null reference exception fixed
  • Ubuntu 16.04 support added
  • Unsupported cmdlets removed from Unix modules
  • PSReadLine long prompt bug fixed
  • PSReadLine custom key binding bug on Linux fixed
  • Default terminal colors now respected
  • Semantic Version support added
  • $env: fixed for case-sensitive variables
  • Added JSON config files to hold some settings
  • cd with no arguments now behaves as cd ~
  • ConvertFrom-Json fixed for multiple lines
  • Windows branding removed
  • .NET CoreCLR Runtime patched to version 1.0.4
  • Write-Host with unknown hostname bug fixed
  • powershell man-page added to package
  • Get-PSDrive ported to report free space
  • Desired State Configuration MOF compilation ported to Linux
  • Windows 2012 R2 / Windows 8.1 remoting enabled


Related Articles