PowerShell Universal - 4.1.0

PowerShell Universal - 4.1.0

Release Notes


  • Added Get-PSUEventHubConnection
  • Added -ConnectionId to Send-PSUEvent
  • Send-PSUEvent can now return data when using -ConnectionId


  • Adding BackgroundImage and BackgroundRepeat to New-UDPage (#2325)
  • Adding Disabled to New-UDSelectOption (#2491)
  • Adding md to Size to New-UDIcon (#2528)
  • Added -Label to New-UDProgress (#2553)
  • Added -OpenInNewWindow to New-UDListItem (#2540)
  • Added -Minimum and -Maximum to New-UDTextbox (#2455)
  • Fixing issues with Show-UDToast -MessageSize (#1000)
  • Fixing issues with Show-UDToast -Icon (#1913)
  • Added additional configuration options to apps in the admin console
  • Added Show-UDSnackbar\Hide-UDSnackbar (#2561)
  • Fixing issue with New-UDDataGrid pagination (#2546)
  • Fixed an issue where row selection in New-UDDataGrid wasn’t available in Get-UDElement (#2573)
  • Added -OnSelectionChanged to New-UDDataGrid
  • Fixed an issue where schema forms -OnSubmit would not run
  • Added -DefaultSortColumn and -DefaultSortDirection to New-UDDataGrid (#2011)
  • Fix issue with min\max on New-UDDatePicker (#2580)
  • Fixed an issue with New-UDSwitch -LabelPlacement should be start not left (#2601)
  • Added Restart and Admin Console links to dashboards of admins (#2362)
  • Added Get-UDTheme -Current (#2508)
  • Fix New-UDAutocomplete to look at options for defaults (#2583)
  • Added -ArgumentList to Sync-UDElement (#1815)
  • Clear autocomplete with Set-UDElement (#2631)
  • Fixed an issue where row selection wouldn’t always work when filtering with New-UDTable (#2630)
  • Added -Disabled to New-UDAutocomplete (#2639)
  • Fixed an issue where links in New-UDMarkdown didn’t follow the theme (#2296)
  • Added $TimeZone variable to apps (#2646)
  • Added missing New-UDAutoCompleteOption to live docs (#2640)
  • Power Managing a dashboard will now do so on all nodes when using SQL Server (#1360)
  • Fixed an issue where the nivo chart docs were not present on the live docs (#2640)
  • Fixed an issue with -CirclePacking and -TreeMap in New-UDNivoChart
  • Fixed an issue with -Heatmap in New-UDNivoChart
  • Added New-UDTheme (#2653)
  • Fixed an issue where several components (tables, pickers, charts) would not update when using within a UDDynamic (#2661)
  • Improved the behavior of New-UDButtonGroup (#2651)
  • Fixing issue with New-UDAvatar -Variant not supporting default round (#2633)
  • Fixed an issue where New-UDUpload did not work in a nested IIS site (#2657)
  • Fixed an issue where autocomplete would fail to render if it was pass a single value that wasn’t an array (#2668)


  • Added Error status for jobs that succeed but have errors
  • Added a Create Scheduled button to the Scripts \ Schedules tab. (#2541)
  • Added support for cmdlets in -Command in New-PSUScript (#2605)
  • Fixed an issue with editing schedules in the admin console (#2659)


  • Add configurable git sync timeout (#2466)
  • Added git to the linux docker container (#2472)
  • Updated the integrated and agent environments to 7.3.6 (#2494)
  • Administrator role now defaults to $false (#2492)
  • Added a Run Module Discovery button to the module page (#2486)
  • Added $RefreshToken to access the OIDC refresh token
  • Added support for SQLite
  • Updated to Microsoft.Data.SqlClient version 5.1.1
  • Added loaded Assemblies to the process view
  • Added additional branding settings
  • Added Remove-PSUCache
  • Added ModuleDiscoveryFrequency to Set-PSUSettings (#2595)
  • Added Get-PSUPublishedFolder (#2622)
  • Added SystemLogLevel to appsettings.json
  • Fixed an issue where the default theme setting would not take effect (#2292)
  • The secret variable credential dialog now suggests including the domain in the user name (#2625)
  • Fixed an issue where Grant-PSUAppToken would generate tokens with invalid roles besides the first role specified.
  • Fixed an issue where modules in the Modules directory were imported into the PSU server during startup
  • Fixed an issue with editing modules when a Universal extension module was installed
  • Fixed an issue where readonly resources could show up in configuration files
  • Added support for PSScriptAnalyzer settings files (#2658)
  • Fixed an issue where the module REST API did not work with app tokens.



Hi @adam, I’m looking forward to trying all of these new commands out. I see there are some SQL improvements.

If I run a 4.1 container am I able to revert back to 4.0.X if need be or does this update the sql schema’s?

My 3.9.17 instance is prompting me about an available update to 4.1.0 - but I don’t think it would be a wise move to simply update from v3 to v4 just like any other update?

Agreed, this is in my laptop development environment where I construct my code prior to going to Dev, Test, and Prod.

This release has some new functionality in I have been waiting for to implement.

In the meantime, I have spun up a separate container for testing, but at some point i will need to upgrade my current laptop docker environment.

4.0.12 works fine for me… The only problems i had was with new-udhelmet being in the modules’ folder which is now packaged in the product, so once that was removed it all worked.

1 Like

Hi @adam,

after updating to 4.1.0 i’m getting forwarded to ‘/service-catalog’ after logging in, without receiving any kind of html. When trying to access ‘/admin’ manually, i’m getting unautharized access returned.

Is anyone else experiencing the same problem?

What platform/installation method have you used?

When i loaded up a 4.1 container, it loaded up as expected.

I can see how this would happen but it would have to have the following conditions:

  • No dashboard or page set to the baseURL of /
  • User that is logging in is not in a built in role (Admin, operator, executor, reader)

My hunch is that you were caught by the change where the admin role is not being applied by default and you may need to adjust the roles.ps1 script to grant that role.

This notification should have been fixed. We updated the wrong version file on our blob storage but have reverted change and corrected the issue.

Thanks for your quick response!
That could very well be the case, as far as i understand the docs the roles.ps1 script should be under ‘Repository.universal’ however, that doesn’t seem to be the case for me. In case i have to create and alter it myself, can you give me a pointer how to manually add the Admin role to my account?

Thanks a lot.

@Matt.Harris We are on WinServer 2019, using default deployment as a windows service.

I just tried to permit the login by altering the auth.ps1 script, however that didn’t lead to success.
One more thing: Directly accessing Apps by their URL still works, so i guess you were right @adam
So i need to set the role and also set the baseURL of /?
Can i access some kind of shell of PSU running in a service? Sorry if i am missing something obvious, we are still in the early stages of deployment so it’s my first time troubleshooting something PSU related.

This is how it was prior to v4.1.

New-PSURole -Name "Administrator" -Description "Administrators can manage settings of PSU, create and edit any entity within PSU and view all the entities within PSU." -Policy {

The other roles were disabled by default.

New-PSURole -Name "Operator" -Description "Operators have access to manage and execute scripts, create other entities within PowerShell Universal but cannot manage PowerShell Universal itself." -Policy {

I managed to get it running again, thank you so much for your quick help!

1 Like

Wow, huge update, just wanted to say thank you for all the effort thats gone into this one :smiley:


Notification still present. Or perhaps it only checks at boot?

How can the selected row(s) be addressed? $EventData did only contain my first column in my tryout…