December 2021 - Product Updates and Releases

PowerShell Pro Tools PowerShell Universal Product Updates

December 14, 2021

quote Discuss this Article

This post outlines the new feature of PowerShell Pro Tools and PowerShell Universal that have been added in the November 2021 release cycle.

Table of Contents

PowerShell Pro Tools 2021.12.0

We have released new versions of the entire PowerShell Pro Tools suite of tools.

Support for Packaging PowerShell 7.2

PowerShell Pro Tools for Visual Studio, Visual Studio Code, Merge-Script and PSScriptPad all support packaging PowerShell 7.2 scripts using .NET 6.0. You will need the .NET 6.0 or later SDK installed in order to target this version.

New Condition Properties for PowerShell Protect

PowerShell Protect has several new conditions that you can use to generate rules to audit and block scripts. We’ve also added a built-in rule for attempting to exploit the Log4j CVE-2021-44228 vulnerability.

New Condition Properties Include:

Here’s an example of blocking CVE-2021-44228.

Improved Dialogs in Visual Studio

We’ve improved several dialogs in PowerShell Tools for Visual Studio. The script analyzer settings have moved into the View \ PowerShell \ Settings dialog. We have also rebuilt the advanced settings dialog for PowerShell projects. Both are now built on WPF rather than Windows Forms.

Full Release Notes

For the full release notes for PowerShell Pro Tools, visit our documentation page.

PowerShell Universal 2.6.0

The December release of PowerShell Universal provides many new features built into the existing feature groups. See below for some notable examples.

Terminals

PowerShell Universal now provides in-browser terminals for executing arbitrary scripts. They are currently limited to administrative users. History of terminals are maintained and terminals can be defined for any environment in your configuration.

Desktop Edition - Preview

You can now run PowerShell Universal as a desktop application. It takes advantage of WebView2 to display the PowerShell Universal admin console. You can download and install the application and start it with Windows to schedule scripts and create user interfaces right on your desktop.

Desktop Edition is currently only supported on Windows. Desktop edition enforces Windows authentication, is only accessible locally and hides aspects of the admin console that aren’t supported. Configuration data is stored within a user-specific location.

Automatic Binding to JSON in APIs

Just as you can with form-encoded POST requests, you can now send JSON formatted requests to APIs and they will automatically bind to param blocks.

For example, you can create an API like this.

param($FirstName, $LastName)

@{
    FName = $FirstName
    LName = $LastName
}

Send the following to the API would automatically bind to the param block arguments.

Invoke-RestMethod 'http://localhost:5000' -Method POST -ContentType 'application/json' -Body (@{ 
    FirstName = "Adam"; 
    LastName = "Driscoll" } | 
    ConvertTo-Json)

Large File Uploads for Dashboards

You can upload files greater than 2GB using New-UDUpload. Files are now streamed to the server in chunks rather than all at once. This allows for any size file upload.

Improvements to Tables in Pages

Tables now support date and time columns, full table search, header icons and scroll bars.

Simplified Role Assignments

Roles now support mapping between claim values. Using this configuration, you no longer need to define a PowerShell script. One example of this would be assigning a role to a group membership from Azure AD. This will slightly improve login performance since PowerShell doesn’t need to be run to check claims.

New-PSURole -Name 'Administrator' -ClaimType 'http://schemas.microsoft.com/ws/2008/06/identity/claims/group' -ClaimValue 'S-123123123'

You can also view which claims are held by the current user to more easily develop claims.

Cross-Platform Secret Store

The Microsoft Secret Management module has been updated to the latest version. This means that you can integrate with many of the new secret stores such as Azure Key Vault and SecretStore. We have integrated directly into the SecretStore module so you can now store secrets on Windows, Mac OS and Linux.

Full Release Notes

For the full release notes for PowerShell Universal, visit our documentation page.

Feedback

If you have feedback, please post on our forums or open an issue on GitHub.