Universal Automation is now part of PowerShell Universal. Learn more about the platform today

We’re excited to release a new version of our PowerShell-first, automation platform, Universal Automation. In this release, we focus on introducing the new Secret Management module, integrating it with our Run-As support and improving the performance of job execution and review.

To get started, you can download the installers from our Downloads page.

Secret Management

In this release, we are taking advantage of the new Secret Management module from Microsoft. This module is designed to abstract away the management of secrets in a way that makes them easy to use in PowerShell scripts. It will work cross-platform and is a great addition to the UA ecosystem. Secret Management comes packaged with UA but you’ll want to install it to your PSModulePath so you can manage your secrets.

Our previous implementation of secret management in UA was similar in scope but not as skillfully implemented so we’ve opted to use Secret Management as our integration component. Any secrets or vaults that you configure with the Secret Management module, UA will be able to use. You’ll be able to import those secrets into UA and then use them within your scripts or as Run-As credentials. You’ll also be able to create new secrets directly in UA and store them in the vault of your choice.

Run-As Credentials

UA has supported Run-As credentials since version 1.0 but it was using our homegrown secret management APIs. Now that we have integrated with Secret Management, you’ll be able to import your PSCredentials into UA. We never actually store the credential but just retrieve it from the secret vault at the time of execution. It never leaves our process and is not communicated across the network. This puts the onus of the secure store on the Secret Management module for secure secret handling.

All you need to do is import your existing PSCredential objects from the vault you have configured on your UA box or create a new credential directly in UA and then you can use those credentials when running scripts or scheduling scripts.


As customers have started to use UA for more and more jobs, we’ve gotten feedback that our UI becomes slow and unresponsive at times. Even worse, jobs sometimes have a hard time completing successfully when they output many objects to the pipeline.

To avoid this issue, we’ve greatly improved the performance of the storage of both job output as well as pipeline output. This means that UA should be able to handle really noisy jobs without too much fuss.

Note that you can always configure the length of your job history to reduce the size of your database and ensure the UA interface is running at high speeds. It defaults to 100 jobs per script.

PowerShell Version per Schedule

Previously, you could assign a PowerShell version per script. This is fine if you have a script that needs to run on a particular version of PowerShell but it doesn’t work well when you want to run the same script on multiple versions of PowerShell. After some customer feedback, we’ve added the ability to assign a PS version to a schedule. Now you can schedule a script to run under multiple versions using multiple schedules.

And there’s more!

We’ve made some additional tweaks to the UI and fixed a few bugs to ensure that you have a great UA experience. You can head over to the changelog to learn more.