PowerShell Universal - 3.9.0

PowerShell Universal - 3.9.0

Release Notes


  • Added support for scheduling a one-time job when One-Way git sync is enabled (#1702)
  • Added a Rerun Job button on the jobs page (#1898)
  • Fixed an issue where Switch and string parameters would have strange defaults in the new schedule dialog (#2282)
  • Fixed an issue where the Server Stopped trigger would not fire (#2324)
  • Added Get-PSUSystemEvent and Remove-PSUSystemEvent (#2375)
  • Added -Namespace to New-PSUSystemEvent (#2381)
  • Added -ClassName to New-PSUElement (#2371)


  • Added support for alternative icons (#2343)
  • Components are now saved and loaded from the modules directory (#2359)


  • Allowed for changing of the default admin name (#2037)
  • Added retry when reading files triggered by the file system watcher because of file locking issues with text editors (#1984)
  • Fixed an issue where git commits listed the committer as the author (#2380)
  • Added support for storing variable values in the database (#2385)



Hi Adam,
Can you explain this in more detail or link to it?
I did try to search for the issue no in GitHub but without any luck.

  • Components are now saved and loaded from the modules directory (#2359)

The modules for custom components used to be installed into a dashboard components folder in programdata. This just centralizes all the module installation into the same place since components themselves are just modules.

So is it the component folder where you use to store all of the custom component you have made by your self and then attach them to the dashboard in dashboard.ps1 in -Components ?
Just want to make sure that I got it right before I start planning for a upgrade.

And if it’s like I have written above then components are not going to sync with Git anymore then?
As the module folder I’m guessing your referring to all users module folder for Powershell?

This is actually referring to components that you install through PSU and the marketplace. They used to install to the folder C:\ProgramData\PowerShellUniversal\Dashboard\Components but they were not actually loading properly.

We are now instead syncing them directly into the repository in C:\ProgramData\UniversalAutomation\Repository\Modules. Since it’s part of the PSModulePath in PSU, they will load automatically into dashboards.

On a related note to this, is there a way to install modules to the Universal repository folder without going through the GUI?

The hope being that if I have a system that tells others what modules to install, and what version of the module, I can have a script run and install or update modules accordingly.

Upgraded to 3.9 today from 3.8.1 because I was seeing some odd Faults when loading the server this morning.

Good news is the new version of the server loaded the core services ok, but the admin page fails to load. We are setup with SAML auth and it correctly prompts for ID and authenticates but when it tries to redirect to the admin page I get the following error in the logs:

System.Exception: Identity ‘admin’ already exists.
at UniversalAutomation.IdentityService.CreateIdentity(Identity identity) in C:\actions-runner_work\universal\universal\src\Universal.Server\Services\Authentication\IdentityService.cs:line 122
at UniversalAutomation.StartupService.RunStartup() in C:\actions-runner_work\universal\universal\src\Universal.Server\Services\StartupService.cs:line 341
at UniversalAutomation.StartupService.TryRunStartup() in C:\actions-runner_work\universal\universal\src\Universal.Server\Services\StartupService.cs:line 183

The url of the admin page is 'https://domain.com/admin". I’m guessing this may be something related to the notes about being able to change the default admin name?

Can you let me know if you are using SQL for persistence?

Modules should be able to be installed to any PSModulePath. You could use something like a startup trigger to run a script to install and update modules. You could install them into the Modules directory in the repository and then exclude that from git if you wanted to.

Uninstalled and rolled back to version 3.8.9 and the UI loaded fine this time.