Feature Request

Request new features for Devolutions PowerShell Universal.

Newest

Most active

Most votes

avatar

krle

One-way git sync - allow creating new tokens

Hi :) We have a bunch of servers that are running one-way git sync (only pulling). Sometimes we have to create a new token on these servers, but the console is read-only = we cant do it. So the "fix" is to change git settings, then create the new token, and then change the git settings back. It would be great, if we could create new tokens, without having to do this.

1

17

1

avatar

Adam Driscoll

avatar

AniTexs

AI Tools (MCP)

While playing around with the MCP Server, I really wish these things were possible: New Parameters for New-PSUAITool - Module and -Command like in Endpoints -Scriptblock {} to have the code inside the aitools.ps1 file. -Endpoint to use a endpoint instead of a script (Max wait time would need to be 60 or lower as a max) -ArchiveJobAfterCompletion to automatically archive the script run job log after completion or retrival, currently it creates a mess in the jobs table. New Cmdlet New-PSUAIToolResponse to add the "structured" element to the response via the mcp server. The Idea is more or less the same as the New-PSUApiResponse cmdlet. Currently the output looks like this: { "content": [ { "type": "text", "text": "Information - {\r\n \"GivenName\": \"XXXX\",\r\n \"Surname\": \"XXX\",\r\n \"UserPrincipalName\": \"XXXX@XXXXX.XX\",\r\n \"Enabled\": true,\r\n \"SamAccountName\": \"XXXXX\",\r\n \"SID\": {\r\n \"BinaryLength\": XX,\r\n \"AccountDomainSid\": \"MEH\",\r\n \"Value\": \"XXXXXXX\"\r\n },\r\n \"DistinguishedName\": \"Woo Hooo\",\r\n \"Name\": \"XXXXX\",\r\n \"ObjectClass\": \"user\",\r\n \"ObjectGuid\": \"GUID\",\r\n \"PropertyNames\": [\r\n \"DisplayName\",\r\n \"DistinguishedName\",\r\n \"Enabled\",\r\n \"GivenName\",\r\n \"mail\",\r\n \"Name\",\r\n \"ObjectClass\",\r\n \"ObjectGUID\",\r\n \"SamAccountName\",\r\n \"SID\",\r\n \"Surname\",\r\n \"UserPrincipalName\"\r\n ],\r\n \"AddedProperties\": [],\r\n \"RemovedProperties\": [],\r\n \"ModifiedProperties\": [],\r\n \"PropertyCount\": 12,\r\n \"DisplayName\": \"XXXXX XXXX\",\r\n \"mail\": \"XXXX@XXXX.XX\",\r\n \"ObjectGUID\": \"XXXXXXXX\"\r\n}" } ] } It's fine, but being able to return a structured element inside the "content" object, would help, this would also drastically help with not needing to convert to json before returning the result. A parameter to choose encoding could be nice, like formats like Markdown , XML , Json , Csv etc.

1

18

1

avatar

Adam Driscoll

avatar

silentkillzr

Trigger for PSUNI Alerts?

Maybe I'm missing something, but is there a trigger that can fire for alerts in PSUNI? We've been having schedules go invalid due to some bad formatting in a query, but now that it's resolved, I'm left wondering if I can set up some notifications to external sources. I'll also look into hooking up PSUNI to Zabbix for monitoring jobs. If we had a trigger for alerts, I could send that off to my teams script for example. Does "health check failed" fire if psuni doesn't load the schedules and throws an error?

1

24

6

avatar

silentkillzr

avatar

jaltmann

Move version information back to top

I have to scroll to the bottom to find my version, it was way more convenient on top (or at least put in a help menu).

3

25

1

avatar

Adam Driscoll

avatar

krle

Winget

Hi :) If you search in Winget for Devolutions, you will see most of their products - it would be awesome, to have PSU in there as well. Then we can in a very simple way, just update our products, and even include it in CI/CD pipelines.

1

20

1

avatar

Adam Driscoll

avatar

Dynamic66

New-PSUPublishedFolder -DefaultDocument

As far as i know it can only be configured in the .universal/publishedFolders.ps1 witch unfortunately hides this awesome feature unless you read the docs. It works quite well and saved me a bunch of time. Please consider adding it to the published Folders settings modal long term :D https://docs.devolutions.net/powershell-universal/apps/custom-frontends#hosting-static-assets

1

23

1

avatar

Adam Driscoll

avatar

krle

Appsettings.json - support for custom tags

Hi :) PSU sets a set of default tags on the computer object, that is based on the environment its in. It would be ideal that we could add custom tags, such as the environment (Prod / Test / Dev), Owner, business service, etc - to align it better with our current CMDB platform. I believe it should be in the appsettings.json, since this one is not normally synced to Git - so setups with a prod and a test instance of PSU, will not conflict on this. It should also allow us to write anything we want, so that we arent "stuck" with a key/value set, defined from Devolutions. Bonus - if the tags could be read on the fly, that would be nice. So adding a new tag, wouldnt have to restart the service, for it to appear - but its a nice to have thing.

3

31

2

avatar

krle

avatar

insomniacc

Explicit error feedback on tool failure

I just tested an AI prompt with a tool that I had access to, which obviously worked fine, I then restricted it to a role I didnt have and prompted 'run the hello world script and provide the output, on failure provide all possible exceptions, error messages and error properties' however the only response I ever get is 'Error: Function failed.' I think it would be good, in the case of a failure due to authentication, such as a role, to have an explicit message so that the Agent can respond accordingly and report back to the user to indicate a lack of permissions or auth failure. v2026.2.1

1

35

1

avatar

Adam Driscoll

avatar

Dynamic66

"Create New" option in select dropdowns

Hello, having a "Create New" option would be very handy in all select options in the admin console. Example: You want to create a new app, and in the creation modal, you need to select an auth role that does not exist yet. It would be nice to have a "New" option to create one on the fly without navigating to a different page. I have encountered this in other programs recently and believe it would be a very nice quality-of-life improvement for PSU.

1

39

1

avatar

Adam Driscoll

avatar

mshepard70

Workflow documentation

I've played with workflows some and have a decent grasp of $PSUItem and $Workflow. I haven't managed to get the "Deconstruct hashtable output" to anything that I can discern. Any chance you can add some documentation to show what that setting does?

1

39

1

avatar

DataTraveler

avatar

krisr

Native AI Chat Component

Hi everyone, With AI assistants becoming a standard UI/UX pattern in modern web applications, I think it’s time to talk about bringing this capability natively into PowerShell Universal. Lately, I’ve been working on a custom module called AiChatFloatingButton for PSU. To be honest, most of it was "vibe coding" with AI assistance, but it still took a ton of work to get the styling, animations, state handling, and theme-aware CSS working correctly without breaking PSU's re-rendering logic. The good news is that it actually works and looks pretty decent! It supports any OpenAI-compatible API (Ollama, Open WebUI, Azure, etc.), handles dark/light modes via CSS variables, and uses standard New-UDelements. However, as much as I enjoy tweaking custom components and hacking overlays, a native solution would be a massive game-changer for the PSU community for several reasons: Seamless Integration: No need to manually manage $page: scope variables or complex Set-UDElement / Sync-UDElement logic just to keep the chat history and animations smooth. It would just work out of the box with standard New-UD... syntax. Unified UI & Theme Engine: A native component would automatically respect the active PSU dashboard theme without custom CSS injection hacks. Enterprise Ready: Having a built-in, standard way to connect dashboards to LLM endpoints (like Azure OpenAI, Ollama, or OpenAI API) would make PSU an even more powerful framework for internal enterprise tools. Since Universal Dashboard is built on React, implementing this natively wouldn't require building everything from scratch. There are fantastic, production-grade open-source libraries available that could be wrapped into a New-UD component: assistant-ui (@assistant-ui/react) – A highly popular, production-ready React library specifically designed for AI chat experiences. It handles streaming lifecycles, markdown parsing, and has excellent shadcn/ui inspired primitives that match modern web aesthetics perfectly. deep-chat (deep-chat-react) – A fully customizable, framework-agnostic AI chat component. It connects directly to popular APIs (OpenAI, Claude, custom endpoints) out of the box with minimal configuration. react-chatbotify – Another very flexible option with built-in LLM connectors, response streaming, and custom theme support. Alternatively, a native combination of Material UI's Fab (Floating Action Button) combined with a properly anchored Floating UI popover drawer enclosing a standard message list would be incredibly powerful. For anyone interested, or if the dev team wants to look at my implementation details i can share my module code.

1

25

0

avatar

krle

Put an App into maintenance mode

Hi :) Normally we can put an App into maintenance mode, and prevent non-admin users from accessing it during maintenance. But we have cases where we develop in the dev/test instance of our platform, sync to git, and then the production instance pulls it (one-way sync). So we have to put the dev version into maintenance mode aswell, which is not ideal, since our Q&A testers cant actually test anything, if we need to debug on a new issue during the maintenance. So - please allow us to set the maintenance mode for apps, even if one-way sync is enabled - and perhaps add a checkmark, that the maintenance mode will be reverted to its Git stage settings, on the next reboot of the service.

1

31

1

avatar

rubentapia

avatar

schubfre

MCP Tools: Rate limiting

Spawned from https://forum.devolutions.net/topics/55354/mcp-tools-high-cpu-load To prevent abuse, denial-of-service or simple overloading it would be prudent to be able to configure rate limiting and/or concurrency settings for MCP tools. The settings should be central and not on a per-script basis.

1

38

1

avatar

Adam Driscoll

avatar

schubfre

MCP Tools: Set dedicated computer groups and environments

Spawned from https://forum.devolutions.net/topics/55354/mcp-tools-high-cpu-load To combat high loads caused by jobs spawned MCP tools, it would also be a good idea to be able to configure Computer Groups and Enviroments where the MCP tools are allowed to start jobs.

1

38

0

avatar

kavm

Using host headers to select app

Running version: 2026.1.6 IIS is not in use. Today our default app is configured with a URL of "/" and it works perfectly when just using the host name as URL in a browser. Now we would like to host multiple "default apps" based on which host name is being accessed (like you can do with host headers in IIS). I've tried just setting a host name of https://server.domain.com/ as URL for the app, but this just redirects the browser to /admin when accessing that host name. Is IIS a requirement for doing this or should it be possible directly in PSU? Or am I going about this in the wrong way? Thanks!

1

68

3

avatar

kavm

avatar

AniTexs

Connect to PSU Server via VS Code Extension

Can there be a button for executing the `Connect-PSUServer` command in the PowerShell Extension Console? The new Update is lovely, but really missing the connection from the old update.

1

61

1

avatar

Adam Driscoll

avatar

michaelhanson1458

Scripts / Folder view could be greatly enhanced

I believe the overall UI for the scripts folder view could use a bit of love. [image] v 📂 Scripts > 🔷 ActiveDirectory 📁 Admin > 🎭 Playwright (Combined with smooth hover highlights, a cleaner font, and a full-bleed row selection model.)

1

52

1

avatar

Adam Driscoll

avatar

AniTexs

SDK for Plugins

Release a SDK for Developing custom plugins to work with PowerShell Universal. I want to expand the functionality of PSU with a better notification system which would not rely on powershell to run, so I could ensure I'd get notified even if PowerShell is acting up. Also a extension for FTP/SFTP manager. This is to extend the functionality of the Admin side of PSU.

1

61

2

avatar

AniTexs

avatar

AniTexs

Make Workflows a Database Resource

From the docs here: https://docs.powershelluniversal.com/config/repository#database-resources The workflows does not allow only being in the database. This could be a really nice thing for different stages like a staging server and a dev and a prod server.

1

54

1

avatar

Adam Driscoll

avatar

krisr

Built-in AI Code Assistant in PSU Editor (like Claude/Copilot)

Hi, I'm not sure if this has been requested yet, but I think it would be helpful to have a built-in AI code assistant (similar to Claude Code or GitHub Copilot) directly inside the PowerShell Universal code editor. Let’s be honest—most of us are writing a significant portion of our code using LLMs these days. VS Code extension for PSU can sometimes be a bit clunky, and switching back and forth isn't seamless. Having an integrated AI assistant in the web editor would significantly streamline the workflow (at least for me). It should support: 1) Cloud-based models (via API keys for OpenAI, Anthropic, etc.) 2) Local models (via Ollama/LM Studio) for environments with strict data privacy. What do you think? Would anyone else find this useful, or is there already something in the pipeline?

1

98

2

avatar

Adam Driscoll

avatar

nikopieper

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

1

47

1

avatar

Adam Driscoll

avatar

Adam Driscoll

New-PSUApiResponse -InputObject

We need always serialize objects returned from APIs are arrays but we have no idea whether user want an array or a single object due to how the PS SDK works. If we added a new parameter to New-PSUApiResponse to control this, it would be helpful. Right now, users need to manually convert the object to JSON to get this to behave correctly. # New way New-PSUApiResponse -InputObject $MyStuff -AsSingleObject # Old way New-PSUApiResponse -Body ($MyStuff | ConvertTo-Json -Depth 2)

2

47

0

avatar

Adam Driscoll

Support for Gemini AI Agents

A user would like to be able to select Google Gemini models in PowerShell Universal for their AI Agents.

1

56

0

avatar

Adam Driscoll

Missed\Historical Schedule View and Triggers

When environments have many schedules, especially when they begin to scale across the environment, it becomes increasingly hard to track down if schedules ran when they should have. We should have a history via for schedules that includes missed schedule runs. If a schedule is missed, we should add a trigger that runs when that happens.

1

51

1

avatar

michaelhanson1458

avatar

lloydmitchell

Resolved

Support arrays for types that can be cast from string

By default, strings work fine: Param([string[]]$AString) That will pull up the mutliple-selection interface - all good. if you do this: Param([mailaddress[]]$AnEmail) You will only get the option to input a single string. If you provide default parameters, only the first element will be shown in the web interface. As a string (with valid formatting) can be cast to type [mailaddress], it would be great to support this in the web interface when selecting multiple elements. Obviously ValidateScript is an option from the string input, but being able to use standard powershell conventions would be a lot neater. I found this, not sure if it's any help: c# - Can I check if a variable can be cast to a specified type? - Stack Overflow

Recommended Answer

a month ago

lloydmitchell This is a good suggestion. I'll open an issue for it so we can track it for a future version. I think it would be good for things like IPAddress etc.

1

85

1

avatar

Adam Driscoll

1 - 25 of 34 items