November 2021 - Product Updates and Releases

PowerShell Pro Tools PowerShell Universal Product Updates

November 9, 2021

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.11.0

We have released new versions of the entire PowerShell Pro Tools suite of tools. Most of the tools contain small features and bug fixes. The PowerShell Tools for Visual Studio extension has had some big features added.

PowerShell Pro Tools for Visual Studio Code - Preview v3 Support

The Microsoft PowerShell Preview extension for Visual Studio Code has reached version 3. This version is a major rewrite of the backend of the extension which promises more stability and performance. The PowerShell Pro Tools extension now supports integrating with Preview v3.

Visual Studio 2022 GA Support

PowerShell Tools for Visual Studio supports the new version of Visual Studio 2022.

Support for Packaging v7.1 PowerShell Scripts

PowerShell Pro Tools for Visual Studio, Visual Studio Code, PSScriptPad, and the PowerShell Module all support packaging PowerShell 7.1 scripts.

Scratch Pad for PSScriptPad

PSScriptPad now supports a Scratch Pad. The Scratch Pad is saved automatically and can be quickly opened and executed to try out scripts. With Scratch Pad, each execution is saved so you can view the historical executions of script within the IDE.

Windows ARM Support

PowerShell Pro Tools for Visual Studio Code now supports Windows ARM. That said, it also no longer packages all platforms in the extension. Much like OmniSharp, PowerShell Pro Tools will download the host for your platform when you first install the extension. The extension size has been reduced by more than 80%.

Full Release Notes

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

PowerShell Universal 2.5.0

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

Comment-Based Help for Scripts

You can now include comment-based help in scripts. Comment-based help will appear within the script execution run dialog to provide extra context to users.

<#
.SYNOPSIS 
This is a script for pinging other computers. 
.DESCRIPTION
This script can ping other computers. 
.PARAMETER HostName
The host name or address to ping. 
.LINK
https://www.ironmansoftware.com
#>
param($HostName)
Test-NetConnection $HostName

Editor Control for Dashboards

Editor.JS is now integrated into Universal Dashboard. Allow users to edit documents visually. Store the data as either JSON or HTML.

Navigation and header customization has been simplified for dashboards to make it easier to specify custom navigation and change colors of the header toolbar.

New-UDDashboard -Content {
} -Navigation {
    New-UDList -Children {
        New-UDListItem -Label "Home"
        New-UDListItem -Label "Getting Started" -Children {
            New-UDListItem -Label "Installation" -OnClick {}
            New-UDListItem -Label "Usage" -OnClick {}
            New-UDListItem -Label "FAQs" -OnClick {}
            New-UDListItem -Label "System Requirements" -OnClick {}
            New-UDListItem -Label "Purchasing" -OnClick {}
        }
    }
} -NavigationLayout permanent

IFrame Component for Pages

An IFrame component is now available for pages. The primary use-case is the ability to host dashboards within pages. This means you can take advantage of the easy, drag and drop functionality of pages but integrate complex components built with dashboards. You can also host external websites within the iframe component.

This is an example of a dashboard within a page.

Grouping Navigation for Pages

Pages can now be assigned a group which will automatically create nested navigation within pages.

User Interface for Configuring Authentication

Authentication can now be configured in the admin console. You no longer need to restart the PowerShell Universal service when configuring authentication if you do it through the admin console or the authentication.ps1 file.

We still continue to support configuring authentication through appsettings.json.

SAML2 Authentication Provider

PowerShell Universal now supports SAML2 authentication. You can configure SAML2 authentication within the admin console.

Integrated Universal Cmdlet Support

A small set of cmdlets now support an integrated mode within PowerShell Universal. The following cmdlets can be called within APIs, Scripts and Dashboards without specifying an app token. These cmdlets are executed using internal RPC and do not round trip through the REST API. This simplifies deploy by removing the need for app tokens or for configuring the external URL if using a proxy like IIS or ngnix.

You can use all of these scripts within PowerShell Universal by specifying the -Integrated parameter.

$Script = Get-PSUScript -Name "MyScript.ps1" -Integrated
Invoke-PSUScript $Script -Integrated -Wait

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.