February 17th, 2026
0 reactions

PowerShell, OpenSSH, and DSC team investments for 2026

Team investments for 2026

As is tradition, we are publishing our planned team investments for the year. This is based on our current understanding of customer and community needs, but is subject to change based on emerging priorities throughout the year.

Community thanks!

Before we dive into the planned investments, I want to take a moment to thank the community for their continued support and contributions to PowerShell, OpenSSH, DSC, and related tooling over the past year.

Security improvements

Security is a top priority and compliance requirements are constantly evolving. As security issues are discovered and reported, and compliance requirements evolve, we must prioritize this work over feature development. This often results in work that’s not directly visible to end users.

Bug fixes and community PRs

Feedback and contributions from the Community are invaluable. We continue to prioritize fixing reported critical issues, as well as prioritizing the review and merging of community pull requests.

PowerShell 7.7

PSUserContentPath relocation

It’s been a long standing issue where PowerShell stores user content such as modules, profiles, and help files in the user’s Documents folder. This has caused issues for users who have their Documents folder synced with OneDrive or other cloud storage services, leading to performance degradation and other unexpected behaviors. We had published a design proposal in our RFC repo last year and received lots of great feedback. This issue has been particularly challenging due to the breaking nature of the change. I believe we’ve closed on a design that balances the needs of most users while minimizing disruption and should have an experimental feature available in an early PowerShell 7.7 preview for users to test and provide feedback on.

Non-profile based module loading

Currently, PowerShell requires that you load modules in a profile script to immediately enable the features provided by those modules. Specific examples include tab-completers and Feedback Providers.

Application developers have expressed interest in being able to register these features without needing to update a profile script, which can be challenging in their installer. We have a design proposal in our RFC repo and would welcome any feedback from the community.

Delayed update notification

PowerShell has a feature that notifies users when a new version is available. However, consistent feedback from users is that the notification is not useful as it shows up immediately, but the actual update may not be available for the package manager they use (e.g. Windows Store, Linux package manager). Current plan is to delay the notification by some predetermined interval to allow time for the new version to propagate to various package managers.

Bash-style aliases/macros

PowerShell aliases are a way to create short names for cmdlets or commands. However, advanced users often want more powerful aliasing capabilities similar to Bash shell’s aliases and macros. This includes features like parameter passing, command chaining, and conditional execution. We are exploring options to enhance PowerShell’s aliasing capabilities to better meet these needs.

MCP Server and tools

As AI adoption continues to grow, we are seeing increased interest in integrating AI with PowerShell. Enablement of AI-assisted scripting and automation is a key use case. To support this, we plan to develop a team supported Model Context Protocol (MCP) server and associated tools that can be used to integrate AI models with PowerShell. Our initial focus will be on safety and security when using AI with PowerShell.

PSReadLine

Context aware Predictive IntelliSense

Predictive IntelliSense in PSReadLine has proven to be a productivity booster for many users. However, one limitation is that the predictions are not context-aware based on the current directory. For example, if a user is in a Git repository, they may want predictions that are relevant to Git commands and workflows. We are exploring ways to make predictions more context-aware.

Decouple reading keyboard input from terminal rendering

Currently, PSReadLine essentially has a loop that reads keyboard input and renders the terminal output. This design has worked well for traditional terminal environments, but limits new experiences we want to enable. This is a fundamental change that will take time, and the benefits won’t be immediately visible to end users. However, this change is necessary to enable future enhancements.

PowerShellGallery/PSResourceGet

Complete Microsoft Artifact Registry (MAR) migration

One of the big investments last year for PSResourceGet was to add support for Azure Container Registry (ACR). Despite its name, ACR is for more than just containers and can be used as a general purpose artifact repository. This year, we plan to complete the migration to support Microsoft Artifact Registry (MAR) as the default trusted repository for Microsoft published modules and scripts. This will provide a more reliable, scalable, and secure experience for users of PSResourceGet.

Concurrency and performance improvements

Users are often installing large modules (that have many dependencies as a family of modules) using PSResourceGet. Alternatively, many users are installing multiple modules at the same time (e.g. during initial setup). Currently, PSResourceGet processes these requests serially, which can lead to long wait times. We plan to enhance PSResourceGet to support concurrent downloads and installations, which should significantly improve performance in these scenarios.

General PowerShellGallery improvements

We are investing in some fundamental improvements to improve reliability, scalability, and security of the PowerShell Gallery.

Windows OpenSSH

EntraID authentication support

A common ask from customers and partners is to support EntraID authentication for SSH connections. We’re actively exploring options to enable this capability in our Windows OpenSSH fork.

Desired State Configuration v3 (DSC)

DSC v3.2 General Availability

We continue to make progress on DSC v3.2 with multiple previews already available. Current expectation is that a Release Candidate and General Availability release will be available in the first half of 2026.

Python Adapter

For Linux usage of DSC, we have been working on a Python adapter to make it easier to create DSC resources using Python. We expect to have previews available early this year and welcome community feedback.

DSC v3.3

We will continue to enhance DSC focusing on customer and partner asks immediately after the v3.2 General Availability release.

Conclusion

We have an exciting year planned with many investments across PowerShell, OpenSSH, DSC, and related tooling. We will continue to prioritize security, bug fixes, and community contributions throughout the year. We look forward to engaging with the community and hearing feedback on our planned investments.

Author

0 comments