May 30th, 2019
0 reactions

PowerShell 7 Roadmap

Steve Lee
Principal Software Engineer Manager

Last month weannounced that PowerShell 7 will be the next release of PowerShell.

Here I will provide more details of areas we’ll be investing in for the PowerShell 7 release.

When will I get it?!

Today, we’re releasing ourfirst preview of PowerShell 7. Keeping with our monthly cadence, expect new preview releases approximately every month.

This first preview contains some of the changes that didn’t make it in time for the6.2 GA release, and marks our move to.NET Core 3.0. For more details on what’s new, check outour changelog on GitHub.

As mentioned in the PowerShell 7 announcement blog, we will be changing thesupport life-cycle to align with.NET Core. This means that we expect PowerShell 7 to be generally available (GA) about a month after .NET Core 3.0 GA.

.NET Core 3.0

The biggest immediate change is moving to .NET Core 3.0 (from .NET Core 2.1). Not only are there significant performance improvements, but many new APIs are available including WPF and WinForms (Windows only, though!).

This means that (eventually) we can bring backOut-GridView.

Windows Compatibility

A big focus of PowerShell 7 is making it a viable replacement for Windows PowerShell 5.1. This means it must have near parity with Windows PowerShell in terms of compatibility with modules that ship with Windows.

The PowerShell Team will be working with Windows teams to validate and update their modules to work with PowerShell 7. This also means that to use PowerShell 7 with the breadth of Windows PowerShell modules, you will need to be using the latest builds of Windows 10 (and equivalent Windows Server).

Feature Investigations

We are looking at investing in three specific feature areas. Expect RFCs (Request For Comments specifications) to bepublished on how we intend to implement these features and the scope of the problem we intended to solve. Feedback is greatly appreciated!

Simplify Secure Credentials Management

Whether you are using PowerShell to automate resources in the cloud, local resources on premise, or a hybrid, you will generally need to have different credentials to access different resources.

The best practice is to never put credentials within your script. So we intend to introduce a way to securely use credentials from a local or remote based credential store.

Logging Off the Box

Part of the security of PowerShell is that it can log everything. However, logging today is purely local onto the machine. For each OS, there are ways to forward those events to a remote system, but it requires different configurations per OS.

We want to introduce a way to easily configure PowerShell through policy to automatically send the logs to a remote target regardless of the OS.

New Version Notification

Looking at ourPowerBI dashboard, we see a large number of instances using older versions (some of which are no longer supported). It is important to inform our customers if there is a newer version available that may have security fixes so we need a way to inform the user that a newer version is available politely.

There is already a RFCpublished for this feature. Please take a look and provide us feedback!

GitHub Issues

We have a number of GitHub issuesmarked to be considered to be addressed for PowerShell 7. Although we would like to fix everything, we do have limited resources so not every issue marked for consideration will be fixed.

Popular Requested Features

There are a number of requested features we’d like to address in PowerShell 7. Some of these may show up as experimental features so that we can get feedback before we lock in the design.

This list is larger than what we will be able to fix, but these are the ones we’d like to investigate:

Other Investments

My team will also be involved in some other related investments during the time frame of working on PowerShell 7.

PowerShell in Azure Functions to generally available

A few weeks ago,Joey Aiello announced thePublic Preview of PowerShell in Azure Functions 2.0. As we get feedback, my team will continue to work with the Azure Functions team to address that feedback and eventually move from public preview to being generally available.

PSReadLine 2.0

Jason Shirk has done a great job with PSReadLine. As part of Windows PowerShell 5, we decided to have it as the default interactive shell experience. As a side project to Jason, he’s made many improvements, but the project is bigger than one person. We’ve agreed to move the PSReadLine project to the PowerShell team where we can have some dedicated resources to get the 2.0.0 release to GA.

PowerShell Editor Services / Visual Studio Code PowerShell extension

We will continue to make progress onPowerShell Editor Services 2.0 release improving reliability, performance, and PSReadLine integration.

PSScriptAnalyzer

As part of improving performance for PSEditorServices, we need to makePSScriptAnalyzer 2.0 host-able so that PS Editor Services can simply call an API rather than calling PSScriptAnalyzer using a PowerShell runspace.

Summary

As you can see, we have a ton of work ahead of us. Not everything will make it in the same time frame of PowerShell 7 and some of the popular requested features may have to wait for PowerShell 7.1, but the more feedback you give us, the more we can be sure we’re doing the right thing to help you succeed.

Thanks!

Steve LeePrincipal Software Engineering ManagerPowerShell Teamhttps://twitter.com/Steve_MSFT

Category
Topics
Share

Author

Steve Lee
Principal Software Engineer Manager

Principal Software Engineer ManagerPowerShell 7, PowerShellGet, PSScriptAnalyzer, VSCode-PowerShell extension, PowerShellEditorServices, etc...

11 comments

Discussion is closed.Login to edit/delete existing comments.

Stay informed

Get notified when new posts are published.
Follow this blog
youtube