Ironman Software Forums
Continue the conversion on the Ironman Software forums. Chat with over 1000 users about PowerShell, PowerShell Universal, and PowerShell Pro Tools.
PowerShell Universal v5.2 is now available. This release includes a number of new features and improvements. Below you’ll find some highlighted features as well as a roadmap for the next couple of releases. You can download the latest version of PowerShell Universal our download page. For a full list of changes, please visit our changelog page.
As always, we recommend testing this version in a development environment before upgrading your production environment.
The first time you install and run a new instance of PowerShell Universal you will be greeted by a new first run wizard. This wizard collects information about how you would like to configure the instance. This includes the following:
The gallery within PowerShell Universal now simply connects to the PowerShell Gallery and locates resources published with the PowerShellUniversal
tag. This makes it easier to publish and install resources without the need to register a custom gallery. We’ve also released new modules to showcase various features of PowerShell Universal. Some of these include:
Visit the PowerShell Universal Gallery to browse all the modules. We look forward to your contributions!
You can now use the PowerShell Universal App cmdlets to publish static web sites. These sites do not require PSU and can be hosted on any web server. This is useful for hosting documentation, simple web sites or other static content. You can even include basic interaction with JavaScript. You don’t need to install PowerShell Universal or even purchase a license to build static apps; just install the Universal
module.
Publish-PSUStaticApp -Definition {
New-UDApp -Content {
New-UDRating -Max 10 -OnChange (New-UDEndpoint -JavaScript 'alert(data)')
}
} -DestinationPath .\output -Force
We’ve moved the app debugger to be more accessible when editing your apps. You can use the debugger tab to quickly jump over to breakpoints and view the state of your app. Use the standard Wait-Debugger
cmdlet to break into your endpoints. We’ve also improved the debugger by including some new buttons to quickly navigate your debugging session.
We’ve included a new admin page for managing PowerShell Resource repository configurations. This enables the ability the install modules from different sources within PowerShell Universal.
PowerShell Universal now provides the ability to switch between multiple git repositories and branches. Changing a git repository or branch will automatically update the configuration of PowerShell Universal. We recommend using this primarily for development purposes.
We’ve added a new admin page for managing secret vaults. You can edit the vaults.ps1
file to register your vaults with Register-SecretVault
. PSU ensures that this script runs before any variables are retrieved from the vaults.
We’ve implemented a new licensing system for PowerShell Universal. You can now license PowerShell Universal using a special license key tied to your account. When you purchase new licenses, Ironman Software will now simply maintain a count of licenses associated with your account. PowerShell Universal instances can use your account key to retrieve the appropriate license. You will also be able to see a list of licensed instances in the Ironman Software portal. By using account-based licensing, you will no longer need to update license keys manually on your PowerShell Universal instances.
Existing licenses are unaffected. You can continue to download offline license keys.
PowerShell Universal will now enforce licensing for modules loaded into the platform with the PSULicensed
property in PSData
. This will enable module authors to charge for their modules and users to easily license and install high quality modules from our talented experts. Ironman Software will not handle the distribution, licensing or payment for these modules. We will provide the license key generator for authors interested in creating licensed modules. Please contact us for more information.
Below is an example of a module that would trigger licensing enforcement (the module below is not licensed and just used for demonstration). The user would need to have the PowerShellUniversal.Triggers.BurntToast
module license in order to use it.
@{
ModuleVersion = '1.0.0'
GUID = '59f32838-32bb-46e3-b29d-eb360292a8c9'
Author = 'Ironman Software'
CompanyName = 'Ironman Software'
Copyright = '(c) Ironman Software. All rights reserved.'
Description = 'PowerShellUniversal.Triggers.BurntToast'
PrivateData = @{
PSData = @{
Tags = @('CIM', "PowerShellUniversal", "api")
LicenseUri = 'https://github.com/ironmansoftware/scripts/tree/main/LICENSE'
ProjectUri = 'https://github.com/ironmansoftware/scripts/tree/main/APIs/PowerShellUniversal.Triggers.BurntToast'
IconUri = 'https://raw.githubusercontent.com/ironmansoftware/scripts/main/images/script.png'
PSULicensed = $true
}
}
}
If a licensed module is installed without a license, PowerShell Universal will display a message indicating that the module is not licensed.
Do note that the licensing enforcement is currently in preview and may change in future versions. Additionally, PowerShell Universal only prevents the system from loading PSU resources such as apps, APIs, and scripts. It does not prevent the module from being imported or used in other contexts, for example, functions in a script. This feature is highly experimental and we are looking for feedback on how to improve it or if it is useful at all.
We have also fixed numerous bugs, improved the performance of the code editor in the admin console and added several new parameters to app components.
For a full list of changes, please visit our changelog page.
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.