PowerShell 6 finally made it out of Beta two weeks ago. That is cause for celebration, as there are a lot of quality of life improvements for those of us who work all day in the shell. But it’s… not what you think if you have not been following the team blogs or at least perusing tech news the last year or so.
PowerShell 5 and the versions before it are based on the .NET Framework. You know, those giant packages that Windows developers love because they’re so easy to work with and end users and administrators tolerate, since it occasionally means having to update something else in addition to the software we are trying to run. Version 6, on the other hand, is based on .NET Core 2.0.
That means PowerShell 6 is open source, cross-platform— hello, PowerShell on a Raspberry Pi 3 —and part of Microsoft’s recent and radical trend toward cloud-first, open source friendly business. The bad news is that it does not support some existing modules, chiefly, Active Directory. The good news is that you can run 6 and your current version side-by-side and that Microsoft will probably be supporting version 5 for years to come, but… man, I hope they fix that bad news.