

This means that Windows PowerShell and PowerShell Core users will be able to use the same version of PowerShell to automate across Windows, Linux, and macOS and on Windows, and PowerShell 7 users will have a very high level of compatibility with Windows PowerShell modules they rely on today. To address this, we are renewing our efforts towards a full replacement of Windows PowerShell 5.1 with our next release. These folks are unable to take advantage of PowerShell Core’s new features, increased performance, and bug fixes. We believe that this could be occurring because existing Windows PowerShell users have existing automation that is incompatible with PowerShell Core because of unsupported modules, assemblies, and APIs. However, we also can clearly see that our Windows usage has not been growing as significantly, surprising given that PowerShell was popularized on the Windows platform. This chart represents the number of times pwsh.exe (or just pwsh on Linux/macOS) was started (unless telemetry was disabled). In particular, the bulk of our growth has come from Linux usage, an encouraging statistic given our investment in making PowerShell viable cross-platform. PowerShell Core usage has grown significantly in the last two years. We’re calling the next release PowerShell 7, the reasons for which will be explained in this blog post. Since that release, we’ve already begun work on the next iteration! Recently, the PowerShell Team shipped the Generally Available (GA) release of PowerShell Core 6.2.
