Ironman Software Forums
Continue the conversion on the Ironman Software forums. Chat with over 1000 users about PowerShell, PowerShell Universal, and PowerShell Pro Tools.
This post outlines the new features of PowerShell Pro Tools and PowerShell Universal that have been added in the November 2022 release cycle.
PowerShell Pro Tools now features a new way to package your executables. The previous method used .NET to compile executables based on your scripts and settings on the fly. While very customizable, this has some issues. The primary issue was that antivirus would often flag executables as malicious.
With PowerShell Pro Tools 2022.11.0, we’ve released a new packaging mechanism that does not require the .NET SDK installed and updates our precompiled host with your script and settings. It’s faster than compiling manually, requires few depedencies and doesn’t flag antivirus.
To learn more about compiling executables with the new host, visit our documentation.
PowerShell Universal 3.5 is the next release of the latest and greatest version of the platform.
PowerShell Universal now exposes the ability to disable features that you aren’t using. Rather than simply hiding them from the admin console, these features are completely disabled within the platform. Configuration APIs will no longer function, configuration scripts won’t be executed and the attack surface is reduced in the process.
Feature flags are useful for simplifying your deployment and ensuring that you only need to secure features that you are actively using.
To learn more about feature flags, click here.
In addition to feature flags to disable built in features, we’ve added experimental features that require a setting to enable. Our first experimental feature is C# APIs. C# APIs allow you to compile
.cs files on the fly that can process API requests at the configured URL. The APIs have access to the request data and can also access services within PowerShell Universal. The intention for C# APIs is to provide extremely high performance when you need it. These APIs run anywhere between 5x and 20x faster than PowerShell APIs. This can be useful for scenarios such as caching data, processing files or storing items in a database.
The internal C# API is not well documented and may be more cumbersome to implement. We’ll be improving on this experimental feature based on user feedback.
Dashboards now integrated more closely with the PowerShell host. This means that features of PowerShell will automatically cause actions to take place in a dashboard. Some examples include:
Read-Host will now open a dialog that the user can enter text and that will be returned to your dashboard script.
Get-Credential will now open a dialog where a user can enter a user name and password that will be returned as a
PSCredential to the dashboard code.
Write-Progress will display a progress popup in the lower left corner with information about the progress of any operation.
We’ve continued to expand dashboard functionality with new components and parameters. For example:
New-UDRating can be used to allow your users to enter a rating in forms, steppers, or all by itself.
New-UDDataGrid allows you to customize the export data from your data grid in whatever format you see fit.
The new Agent environment allows you to run APIs, scripts, dashboards and terminals in external processes with a configuration similar to the Integrated environment. The Agent environment runs as PowerShell 7.2.7 but does not require that PowerShell be installed on the target machine. The Agent environment does not have the same performance issues that may be associated with the Integrated environment because it runs in a separate process space.
We’ve removed the limit on job executions for unlicensed instances. You can now run as many jobs are you like without having to purchase a license.