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 June 2022 release cycle.
PowerShell Protect is now integrated into PowerShell Universal. You can generate PowerShell Protect configuration files using the PowerShell Universal Admin Console and consume events generated by PowerShell Protect clients. Additionally, you can trigger scripts based on PowerShell Protect rules.
PSCommander has reached end of life. You can still download PSCommander but we will no longer be selling licenses or supporting the product. Functionality similar to PSCommander is now offered in PowerShell Universal Desktop.
PowerShell Universal 3.0 is now generally available! This major release includes support for SQL server, PowerShell Protect integration, updates to .NET and the Material UI framework, new dashboard components and numerous new Desktop features.
PowerShell Universal can now store data within Microsoft SQL Server. Jobs, app tokens, identities and terminal instances can be persisted in a local or remote SQL server. Multiple PSU instances can be connected to the same SQL database and process job queues. This provides scalablity and redudancy.
PowerShell Protect is now integrated into PowerShell Universal. You can generate PowerShell Protect configuration files using the PowerShell Universal Admin Console and consume events generated by PowerShell Protect clients. Additionally, you can trigger scripts based on PowerShell Protect rules.
Notifications now have a level associated with them to indicate how important they are. You can also configure which notification levels to receive. Error notifications will also change the icon in the admin console to indicate something is wrong.
Variables now support any type of object. While you cannot set anything in the admin console UI, you can set anything in the variables.ps1
file. CLIXML serialization will be used to store the variable data and pass it to APIs, scripts and dashboards.
PowerShell Universal now offers live logging of the server from the settings page.
You can now configure access controls through the PowerShell Universal Admin Console.
You can now edit any file within the PowerShell Universal repository folder from within the admin console. You’ll be able to also create and delete files. The VS Code extension also supports this functionality.
Secrets are now accessible via the new $Secret:
scope in APIs, scripts and dashboards. Rather than loading all secrets when an environment is started, the secrets are loaded on demand. This also means that secrets are available to scripts and dashboards running with alternate credentials.
Invoke-Command -Command { Get-Process } -ComputerName remotemachine -Credential $Secret:Credentials
PowerShell Universal is now running .NET 6.0 and PowerShell 7.2.4 for the integrated environment. The upgrade to these versions of the core of the platform bring numerous improvements as well as increased performance.
API endpoints can now be assigned an endpoint. Rather than all the endpoints running in a single environment server-wide, you can now dictate which environments an endpoint runs in. Endpoints that are assigned the same environment will share the same process.
API endpoints can now have multiple methods. You can use the $Method
variable to determine which method was used when calling the endpoint.
API endpoints can now be viewed in a folder structure. The folders will group endpoints with a similar path.
API endpoints now provide live logging. You’ll be able to see requests coming in, capture PowerShell streams and see what is returned.
When using SQL server for peristence, you can connect multiple PowerShell Universal instances to the same database. In this configuration, they will process jobs among the cluster. This means you can scale out the execution of jobs.
You can now trigger PowerShell Universal jobs when particular PowerShell Protect events are received. You’ll be able to filter by the rule name.
PowerShell Universal Dashboard has been upgrade to Material UI (MUI) v5. This includes bug fixes, new components and features.
You can now use Get-UDTheme
to return a built in theme. For example, use the AntDesign
theme to get a dashboard with the same style as the admin console.
You can now use the built in templates when creating a dashboard.
We’ve made improvements to the table like support for Sync-UDElement
and support for expandable rows.
Schema Forms use New-UDForm
to define the fields of a form based on a hashtable of properties rather than manually defining the forms fields with UD components. They support numerous types of fields and even support validation.
New-UDForm -Schema @{
title = "Test Form"
type = "object"
properties = @{
name = @{
type = "string"
}
age = @{
type = "number"
}
}
} -OnSubmit {
# $EventData.name
# $EventData.age
}
You can now take advantage of all the FontAwesome v6 icons. We’ve also include Find-UDIcon
to help search for the icons that are available in UD.
You can now access the new timeline component of MUI. Display timelines with custom colors or icons.
Associate hotkeys to run scripts within PowerShell Universal. Hotkeys are accessible anywhere in Windows.
Associate file extensions with scripts in PowerShell Universal. When you open a file of that type within Windows, it will execute the script in PowerShell Universal and pass the file name to it.
Create custom protocol handlers within PowerShell Universal. Run scripts when a particular protocol URI is called. The script will receive the URI that was called.
Subscribe to WMI peristent events in PowerShell Universal. Listen for when processes are started or services are stopped. You’ll be able to run a script when this happens and receive information about what happened.
You can now define cards within your pages. Cards can load data from APIs or jobs.
Forms now support smart properties. Smart properties are hashtables that you provide in the output of your API or script that render links or images in a table. For example, setup a form that returns a table and then return a hashtable from a script with the following data to display an image.
@{
column = @{
type = "image"
src = "https://ironmansoftware.com/logo.png"
height = "10px"
}
}
New-UDFloatingActionButton
Floating action buttons can now be positioned in one of the four corners of the page.
-DisableSubmitOnEnter
for New-UDForm
You can disable the functionality where pressing enter in a textbox submits the form it is a part of.
There are now logoff and back buttons on the unauthorized access page within the Admin Console.
Sync-UDElement
Support for New-UDTable
New-UDTable
now supports reloading data using Sync-UDElement
. This is only supported when using server-side processing using the -LoadData
parameter. When using Sync-UDElement
on a table, it will maintain the table’s state such as the current page and sort direction.
Continue the conversion on the Ironman Software forums. Chat with over 1000 users about PowerShell, PowerShell Universal, and PowerShell Pro Tools.
Receive once-a-month updates about Ironman Software. You'll learn about our product updates and blogs related to PowerShell.