Surpress Module Loading Info in Apps
Is there any way of surpressing the Message of module loading in apps? i Know it goes away after a few seconds but users are asking questions...
Like this:

Technically the App is running in an peristant environment which should import the Module on startup.
Multi Tenant Login Support
It might be possible if you use a multi tenant app Registration and register them in the other tenants. But i have not tried it yet
Custom Environments not working after upgrade to 2026.3.3
Hi Michel,
Ok i could not read that out of the release notes but its fixed now.
Yesterday all scripts worked as expected, i will now update our other Prod Systems
Custom Environments not working after upgrade to 2026.3.3
I added ::1,[::1] , everything else was there before including the IP and FQDN of the Server.
Now it seems to work again. All Apps are starting, i will monitor now if all scripts and automations are also working.
Was there anything changed in 2026.3 which result in that ?
without ::1,[::1] it worked for over a year now in the old versions
Custom Environments not working after upgrade to 2026.3.3
Hello,
Yes i restarted the server and services several times
i sent them to you via direct message
Custom Environments not working after upgrade to 2026.3.3
Hello,
PSUs runs on Windows Server 2022 with the integrated Webserver and the apps are not using a Run As Credential.
I also tried creating a new env in 3.3 but this had the same error.
these are our environments, I changed the Names to numbers, but there are no special characters in the regular name:
$Parameters = @{
Name = '1'
Path = 'C:\Program Files\PowerShell\7\pwsh.exe'
Modules = @('*')
Variables = @('*')
PersistentRunspace = $true
}
New-PSUEnvironment @Parameters
$Parameters = @{
Name = '2'
Variables = @('*')
PersistentRunspace = $true
Type = 'PowerShell7'
}
New-PSUEnvironment @Parameters
$Parameters = @{
Name = 'Integrated'
Path = 'Universal.Server'
Variables = @('*')
Description = 'An environment for running scripts directly in the PowerShell Universal server.'
}
New-PSUEnvironment @Parameters
$Parameters = @{
Name = '3'
Path = 'C:\Program Files\PowerShell\7\pwsh.exe'
Modules = @('activedirectory','hdi.credmod','hdi.psutools')
Variables = @('*')
PersistentRunspace = $true
}
New-PSUEnvironment @Parameters
$Parameters = @{
Name = 'PowerShell 7'
Variables = @('*')
Description = 'The PowerShell 7 version included with PowerShell Universal.'
Type = 'PowerShell7'
}
New-PSUEnvironment @Parameters
$Parameters = @{
Name = 'PowerShell 7.4.12
'
Path = 'C:\Program Files\PowerShell\7\pwsh.exe'
Variables = @('*')
}
New-PSUEnvironment @Parameters
$Parameters = @{
Name = '4'
Path = 'C:\Program Files\PowerShell\7\pwsh.exe'
Modules = @('*')
Variables = @('*')
PersistentRunspace = $true
}
New-PSUEnvironment @Parameters
$Parameters = @{
Name = 'test'
Path = 'C:\Program Files\PowerShell\7\pwsh.exe'
PersistentRunspace = $true
}
New-PSUEnvironment @Parameters
$Parameters = @{
Name = 'Windows PowerShell 5.1'
Variables = @('*')
Description = 'Windows PowerShell 5.1'
Type = 'WindowsPowerShell'
}
New-PSUEnvironment @Parameters
Custom Environments not working after upgrade to 2026.3.3
After i updated to 2026.3.3 my custom Environments are not working anymore.
Apps are not starting and scripts are not running.
When i changed the Environment to the ones PSU brings in the App Starts:
2026-10-15 07:30:58.777 +02:00 [ERR][Universal.Server.Services.DashboardManager] App process running but did not response after 30 seconds. Terminating process.
2026-10-15 07:32:57.851 +02:00 [ERR][] Failed to get dashboard. Status(StatusCode="Unavailable", Detail="failed to connect to all addresses", DebugException="Grpc.Core.Internal.CoreErrorDetailException: {"created":"@1792042377.845000000","description":"Failed to pick subchannel","file":"..\..\..\src\core\ext\filters\client_channel\client_channel.cc","file_line":3218,"referenced_errors":[{"created":"@1792042377.845000000","description":"failed to connect to all addresses","file":"..\..\..\src\core\lib\transport\error_utils.cc","file_line":165,"grpc_status":14}]}") Grpc.Core.RpcException
2026-10-15 07:32:57.990 +02:00 [ERR][] at ProtoBuf.Grpc.Internal.Reshape.UnaryTaskAsyncImpl[TRequest,TResponse](AsyncUnaryCall`1 call, MetadataContext metadata, CancellationToken cancellationToken) in /_/src/protobuf-net.Grpc/Internal/Reshape.cs:line 554
at PowerShellUniversal.ClientServiceRedirect.IsDebuggerAttachedAsync() in D:\a\powershell-universal\powershell-universal\src\Host\GrpcUniversalClient.cs:line 42
at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException[TResult](Task`1 task)
at Nito.AsyncEx.AsyncContext.<>c__DisplayClass16_0`1.<Run>b__0(Task`1 t)
at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException[TResult](Task`1 task)
at Nito.AsyncEx.AsyncContext.Run[TResult](Func`1 action)
at PowerShellUniversal.ValueTaskExtensions.ToResult[T](ValueTask`1 valueTask) in D:\a\powershell-universal\powershell-universal\src\PowerShellUniversal\ValueTaskExtensions.cs:line 49
--- End of stack trace from previous location ---
at PowerShellUniversal.ValueTaskExtensions.HandleException[TResult](RpcException e) in D:\a\powershell-universal\powershell-universal\src\PowerShellUniversal\ValueTaskExtensions.cs:line 130
at PowerShellUniversal.ValueTaskExtensions.ToResult[T](ValueTask`1 valueTask) in D:\a\powershell-universal\powershell-universal\src\PowerShellUniversal\ValueTaskExtensions.cs:line 53
at UniversalDashboard.Services.UDRunspaceFactory.CreateRunspace() in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 499
at UniversalDashboard.Services.UDRunspaceFactory.Create() in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 677
at Microsoft.Extensions.ObjectPool.DefaultObjectPool`1.Get()
at UniversalDashboard.Services.UDRunspaceFactory.GetRunspaceReference(Boolean sendSaturationWarning) in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 112
at UniversalDashboard.Services.UDRunspaceFactory.GetRunspaceAsync() in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 78
at UniversalAutomation.Host.UniversalDashboardService.StartDashboard() in D:\a\powershell-universal\powershell-universal\src\Host\DashboardService.cs:line 213
2026-10-15 07:32:57.990 +02:00 [ERR][] Inner Exception: Grpc.Core.Internal.CoreErrorDetailException
2026-10-15 07:33:24.841 +02:00 [ERR][] Failed to get dashboard. Status(StatusCode="Unavailable", Detail="failed to connect to all addresses", DebugException="Grpc.Core.Internal.CoreErrorDetailException: {"created":"@1792042404.837000000","description":"Failed to pick subchannel","file":"..\..\..\src\core\ext\filters\client_channel\client_channel.cc","file_line":3218,"referenced_errors":[{"created":"@1792042404.837000000","description":"failed to connect to all addresses","file":"..\..\..\src\core\lib\transport\error_utils.cc","file_line":165,"grpc_status":14}]}") Grpc.Core.RpcException
2026-10-15 07:33:24.855 +02:00 [ERR][] at ProtoBuf.Grpc.Internal.Reshape.UnaryTaskAsyncImpl[TRequest,TResponse](AsyncUnaryCall`1 call, MetadataContext metadata, CancellationToken cancellationToken) in /_/src/protobuf-net.Grpc/Internal/Reshape.cs:line 554
at PowerShellUniversal.ClientServiceRedirect.IsDebuggerAttachedAsync() in D:\a\powershell-universal\powershell-universal\src\Host\GrpcUniversalClient.cs:line 42
at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException[TResult](Task`1 task)
at Nito.AsyncEx.AsyncContext.<>c__DisplayClass16_0`1.<Run>b__0(Task`1 t)
at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException[TResult](Task`1 task)
at Nito.AsyncEx.AsyncContext.Run[TResult](Func`1 action)
at PowerShellUniversal.ValueTaskExtensions.ToResult[T](ValueTask`1 valueTask) in D:\a\powershell-universal\powershell-universal\src\PowerShellUniversal\ValueTaskExtensions.cs:line 49
--- End of stack trace from previous location ---
at PowerShellUniversal.ValueTaskExtensions.HandleException[TResult](RpcException e) in D:\a\powershell-universal\powershell-universal\src\PowerShellUniversal\ValueTaskExtensions.cs:line 130
at PowerShellUniversal.ValueTaskExtensions.ToResult[T](ValueTask`1 valueTask) in D:\a\powershell-universal\powershell-universal\src\PowerShellUniversal\ValueTaskExtensions.cs:line 53
at UniversalDashboard.Services.UDRunspaceFactory.CreateRunspace() in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 499
at UniversalDashboard.Services.UDRunspaceFactory.Create() in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 677
at Microsoft.Extensions.ObjectPool.DefaultObjectPool`1.Get()
at UniversalDashboard.Services.UDRunspaceFactory.GetRunspaceReference(Boolean sendSaturationWarning) in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 112
at UniversalDashboard.Services.UDRunspaceFactory.GetRunspaceAsync() in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 78
at UniversalAutomation.Host.UniversalDashboardService.StartDashboard() in D:\a\powershell-universal\powershell-universal\src\Host\DashboardService.cs:line 213
2026-10-15 07:33:24.856 +02:00 [ERR][] Inner Exception: Grpc.Core.Internal.CoreErrorDetailException
2026-10-15 07:33:41.240 +02:00 [ERR][Universal.Server.Services.DashboardManager] App process running but did not response after 30 seconds. Terminating process.
I took a snapshot, after the upgrade last time also did not work, and after i reverted back to 2026.2.3 everything is working again
No Logs in Endpoints
Hello Ruben,
this is whats in the Application.json:
"SystemLogPath": "%ProgramData%\\PowerShellUniversal\\Logs\\System\\systemLog.txt",
"SystemLogLevel": "Information",

Logging Targets:

Please also run one affected endpoint and note the exact time of the request. Then confirm:
* Whether that request appears in the File log. -> Yes it appears in the file log
* Whether it appears in Platform > Logging after a manual refresh. -> No it stays the same, when i filter for user or Feature then nothing is shown.
* Whether Platform > Logging still shows the last entries from 20/08. -> yes
No Logs in Endpoints
I Tried adding it as a File and Database Target for System And User, it then appears in the Log File on the Server but in PSU in the Logs of the Endpoint there is still nothing and i cant click load more.
And i discored that in Platform -> Logging the logstream is also stuck to 20.08 even if "Live" is checked
No Logs in Endpoints
Where do i configure this, i have nothing but the standard which comes with installation.
Or do i need to Add it here?

No Logs in Endpoints
Hello, ist there any update on this?
i sent you a mail with the needed data on 21.08
Very long query times on MSSQL HA Cluster after updating to version 2026.2.5.0
Hello Ruben,
we have 12 persistant and 20 non persistant caches
Very long query times on MSSQL HA Cluster after updating to version 2026.2.5.0
PSU has now been running for a while.
I suggest that there is something wrong with the version because:
2026.2.5 did not work with the restored database
After recovering to 2026.2.3 with the same restored database it works again
Very long query times on MSSQL HA Cluster after updating to version 2026.2.5.0
Database show now errors or abnormal times.
I just restored the server to 2026.2.3 and Database before the update, for now it seems to work.
Very long query times on MSSQL HA Cluster after updating to version 2026.2.5.0
2026-08-21 17:43:45.270 +02:00 [WRN][PowerShellUniversal.SQL.PsuDbContext] Slow Query Detected: SET IMPLICIT_TRANSACTIONS OFF;
SET NOCOUNT ON;
UPDATE [Job] SET [CreatedTime] = @p0, [Environment] = @p1, [StartTime] = @p2
OUTPUT 1
WHERE [Id] = @p3;
| Parameters: @p3=297424, @p0=8/21/2026 3:43:44 PM, @p1=PowerShell 7.4.12
, @p2=8/21/2026 3:43:44 PM, took 542.2779 ms
2026-08-21 17:43:45.274 +02:00 [WRN][PowerShellUniversal.SQL.PsuDbContext] Slow Query Detected: SET IMPLICIT_TRANSACTIONS OFF;
SET NOCOUNT ON;
UPDATE [Job] SET [MemoryBytes] = @p0
OUTPUT 1
WHERE [Id] = @p1;
| Parameters: @p1=297422, @p0=94598485, took 545.0694 ms
2026-08-21 17:43:45.613 +02:00 [WRN][PowerShellUniversal.SQL.PsuDbContext] Slow Query Detected: SELECT TOP(1) [j].[Status]
FROM [Job] AS [j]
WHERE [j].[Id] = @job_Id | Parameters: @job_Id=297426, took 344.598 ms
2026-08-21 17:43:45.614 +02:00 [WRN][PowerShellUniversal.SQL.PsuDbContext] Slow Query Detected: SELECT [g].[Id], [g].[Branch], [g].[Bundle], [g].[BundlePath], [g].[BundleTimestamp], [g].[ExternalGit], [g].[GitEnvironmentVariable], [g].[GitSshKey], [g].[InitBehavior], [g].[Interval], [g].[ManualMode], [g].[Mode], [g].[Name], [g].[Password], [g].[Paused], [g].[ProxyUrl], [g].[Remote], [g].[SyncBehavior], [g].[UpdateSubmodules], [g].[UserName]
FROM [GitSettings] AS [g] took 339.9386 ms
2026-08-21 17:43:45.614 +02:00 [WRN][PowerShellUniversal.SQL.PsuDbContext] Slow Query Detected: SELECT TOP(1) [j].[Status]
FROM [Job] AS [j]
WHERE [j].[Id] = @job_Id | Parameters: @job_Id=297422, took 338.966 ms
2026-08-21 17:43:45.614 +02:00 [WRN][PowerShellUniversal.SQL.PsuDbContext] Slow Query Detected: SET IMPLICIT_TRANSACTIONS OFF;
SET NOCOUNT ON;
UPDATE [Job] SET [MemoryBytes] = @p0
OUTPUT 1
WHERE [Id] = @p1;
| Parameters: @p1=297430, @p0=54439253, took 567.5672 ms
2026-08-21 17:44:15.770 +02:00 [WRN][PowerShellUniversal.SQL.PsuDbContext] Slow Query Detected: SELECT [c1].[Id], [c1].[Deleted], [c1].[DeploymentName], [c1].[DeploymentVersion], [c1].[EditMode], [c1].[FileSyncTimestamp], [c1].[GitBranch], [c1].[GitSettings], [c1].[GitSshKey], [c1].[GrpcPort], [c1].[HangfireServerId], [c1].[HangfireWorkerCounter], [c1].[HeartBeat], [c1].[LoadingInfo], [c1].[LoginErrorMessage], [c1].[Maintenance], [c1].[Name], [c1].[ReadOnly], [c1].[Status], [c1].[Type], [c1].[Version], [c0].[Id], [c0].[ComputerId], [c0].[Name], [c0].[Static], [c0].[Value]
FROM (
SELECT TOP(1) [c].[Id], [c].[Deleted], [c].[DeploymentName], [c].[DeploymentVersion], [c].[EditMode], [c].[FileSyncTimestamp], [c].[GitBranch], [c].[GitSettings], [c].[GitSshKey], [c].[GrpcPort], [c].[HangfireServerId], [c].[HangfireWorkerCounter], [c].[HeartBeat], [c].[LoadingInfo], [c].[LoginErrorMessage], [c].[Maintenance], [c].[Name], [c].[ReadOnly], [c].[Status], [c].[Type], [c].[Version]
FROM [Computer] AS [c]
WHERE [c].[Name] = @nodeName
) AS [c1]
LEFT JOIN [ComputerTag] AS [c0] ON [c1].[Id] = [c0].[ComputerId]
ORDER BY [c1].[Id] | Parameters: @nodeName=XX, took 30154.648 ms
2026-08-21 17:44:15.795 +02:00 [WRN][Microsoft.AspNetCore.Server.Kestrel] As of ""2026-08-21T15:44:15.7690789+00:00"", the heartbeat has been running for ""00:00:29.7110717"" which is longer than ""00:00:01"". This could be caused by thread pool starvation.
2026-08-21 17:44:15.832 +02:00 [WRN][PowerShellUniversal.Automation.GrpcExecutionService] Job process did not respond to handshake in time. Killing process in 5 seconds.
Very long query times on MSSQL HA Cluster after updating to version 2026.2.5.0
Hello nikopieper,
Thank you for the update.
I currently do not have access to the files you mentioned uploading. However, given that the issue has now recurred and PSU is currently not operational, we consider the situation critical enough to escalate it directly through our internal channels for further review.
If any additional information is required after the escalation review begins, I will follow up here with the specific details needed.
Best regards,
Ruben Tapia
@rubentapia
i sent you a mail with the log attached
Very long query times on MSSQL HA Cluster after updating to version 2026.2.5.0
I asked for the Data from the DBA which is pending, the DB is ~8GB on a 2022 SQL Cluster
Very long query times on MSSQL HA Cluster after updating to version 2026.2.5.0
Hello,
the DB "crashed" again and PSU is not working anymore. i uploaded the files
Very long query times on MSSQL HA Cluster after updating to version 2026.2.5.0
After the update we have been experiencing very long query times on MSSQL HA Cluster resulting the Service not do Start due to timeouts.
For git settings its was something like 25-35 seconds.
After restoring the DB from yesterday and restarting the software it workes again now.
No Logs in Endpoints
Hello Ruben,
* Are the API Endpoints themselves executing and returning responses successfully, with only the Log tab remaining empty?
Yes API Endpoints are working fine, just no logs.
* Does this happen with all API Endpoints or only specific ones?
With all API endpoints
* If you keep the Log tab open and invoke the endpoint several times, does it remain completely empty?
Yes its completely Emtpy
* Are you expecting to see the automatic request activity in the Log tab, messages generated with `Write-PSULog`, or both?
Nothing is shown, the load more button is disabled
* Did this behavior start after upgrading to 2026.2.3? If so, what was the last PSU version where you remember the endpoint logs working correctly?
I belive it was already not working before, but we just started realy using Endpoints.
No Logs in Endpoints
In the API Endpoints i get no log, its just emtpy. Anyone else had this problem before?

Version 2026.2.3 running on Windows Server with integrated Webserver
Scriptes called from Apps not Shown in History
Hi Adam, As discussed at PSConfEU :)
Currently when you call a Script from an App with Invoke-PSUScript the called script gets shown in the Portal History even if the Users dont have access to the script.
It would be nice to have an option to hide them there as we already hat some question why something is shown there.
Thanks,
Niko
PowerShell Universal - 2026.1.3
ug at the code editor:
This break’s the code view.
We have the same after updating to 2026.1.3 from 5.6.13
OIDC Secret in authentication.ps1 - Best Practice
Product: PowerShell Universal
Version: 5.6.13Hey all,
we have set up our Environment with OIDC to Entra ID which works without problems.
But the Secret appears in plain text in the authentication.ps1, which is kind of security risk in my opinion. I tried using it with a secret variable but this doesnt work.
Does anyone has a good solution for this?
Show App in User Portal
Has been resolved due to Tags were Added to the Apps and the Tags dont have the “Show in Portal” as Standard