As you may already know, the GA version of Powershell Core is suppose to be released on 10th of January, with release Candidate version being available for some time already.
Powershell will come with two versions:
- Windows Powershell
- Powershell Core
Powershell Core is a version of PowerShell built on top of .NET Core. The official versioning is numbered as 6.0 (although for Core it would make sense to be numbered as 1.0, but what the hell).
I want to point out that with having these two versions out, Microsoft clearly stated that the future of Powershell will be actually Core, with the expectation that only bug fixes will be added to the currently active Windows PowerShell.
Having said that, Microsoft is actually telling us that all new future development will go into PowerShell Core.
The difference between these two versions?
- Windows Powershell was built on top of .NET Framework, while Powershell Core was built on top of .NET Core, which is a cross platform and therefore, available to various other distributions, like macOS, Linux…
- The Powershell Core shell and desktop icon are going back to black, while Windows PowerShell will stay blue
- Executable for Windows Powershell stays the same, while for Powershell Core it will be pwsh.exe
- Powershell Core will be faster
- Install directory for Windows Powershell will stay the same (C:\Program Files\WindowsPowerShell), while for Powershell Core it will be C:\Program Files\Powershell
What is new in new version?
- Powershell remoting over SSH
- Invoke-WebRequest now has a -SkipCertificateCheck switch.
- It is now possible to get an array of chars via the .. operator — ‘a’..’z’
- Putting & at the end of a pipeline will cause the pipeline to be run as a Powershell job
- $OutputEncoding default has been changed to be UTF8
- -AsHashTable has been added to ConvertFrom-JSON
Downsides of Powershell Core
- There is no WMI support in Powershell Core, but the new Get-CIM* cmdlets are present, so you don’t have to worry
- The ActiveDirectory Module is not yet supported
- No support for Windows Presentation Foundation (WPF)
- The Workflows functionality is missing
- There is no Powershell ISE for Powershell Core, because Microsoft now recommends Visual Studio Code as a replacement.
List of supported systems:
- Windows 7, 8.1, and 10
- Windows Server 2008 R2, 2012 R2, 2016
- Windows Server Semi-Annual Channel
- Ubuntu 14.04, 16.04, and 17.04
- Debian 8.7+, and 9
- CentOS 7
- Red Hat Enterprise Linux 7
- OpenSUSE 42.2
- Fedora 25, 26
- macOS 10.12+
What modules work with PowerShell Core?
Where do I get PowerShell Core 6.0?