The ultimate platform for building web-based IT tools
PowerShell Universal allows you to run jobs, schedule scripts, build web pages and APIs, and control access; all under a single pane of beautiful glass.
The core of Universal is built on automation. The platform provides users with the ability to expose, integrate, and audit their automation scripts.
Execute scripts from directly in the platform. Run scripts in any version of PowerShell you have available. Universal makes it easy for your users to just click a button and execute a complex script. There’s no need to know about PowerShell.
Universal provides the ability to schedule scripts using simple recurring jobs, one-time schedules, and even configure more complex scripts using CRON expressions. You’ll be able to easily see the next time your script is going to run directly in the UI.
Universal makes it easy to track exactly what was run and by whom. You can view logs, the output from scripts, and parameters that were sent as input. You’ll be able to track the duration of script execution and even manage the time saved by running a script rather than manually performing the operation.
Universal empowers your end-users to access automation scripts from anywhere with its web-based interface. You can craft an easy to use solution that allows your users to do more.
Provide the ability for your users to access the tools they need remotely by providing them with simple interfaces they can use directly in their browser. Universal creates interfaces from your scripts automatically with Universal Automation. If you want to take customization to the next level, you can build interfaces with just PowerShell script using Universal Dashboard.
Universal makes it easy for your users to debug your automation. With access to an in-browser PowerShell console, extensive logging and more your users can easily determine what’s happening when things go wrong.
Universal provides the ability to easily integrate with any system through PowerShell and by exposing its own REST API.
Universal uses PowerShell for configuration and execution. With PowerShell’s ability to integrate with nearly any system imaginable, it makes it easy to integrate your automation, interfaces, and APIs with Universal. Universal and PowerShell are cross-platform so you can deploy your solution wherever you may need it.
Call Universal from any system that can talk over an HTTP REST API. You can manage your Universal instance with our API that provides the ability to configure features as well as execute your automation from any system. Track user access by deploying app tokens to ensure that your Universal system remains secure.
Security is at the core of Universal. Universal provides controls to properly authenticate and authorize users accessing the system.
Universal lets you pick how you’d like to authenticate. You can use OpenID Connect, WS-Federation, Windows Authentication, or even basic form authentication. There’s no need to compromise security when using Universal.
Authorize your users in any way you’d like. You can create roles and evaluate policies to ensure that the users accessing resources are the ones that should be. Authorization policies are defined in PowerShell script so you can access any resources you may need when validating a users role.
Run scripts as a delegated service account to provide your users with just enough administration. Import credentials from the Microsoft Secret Management module to ensure that delegated credentials remain secure.
What’s in Universal?
Universal provides several products within its platform. You can pick and choose which components you’d like to license and use.
Try for Free
You can try PowerShell Universal for free today. You can spin up a Universal Dashboard and run Universal Automation jobs without purchasing a licensing. No registration required.
Below are some of the limitations of the free trial.
Run 25 jobs a day
Up to 2 Concurrent Jobs
Frequently Asked Questions
While both Universal API and Universal Automation provide REST API support, Universal API is much more customizable in the endpoints that you define. You can specify and route, method and script block to be executed with Universal API. Unlike Universal Automation, each job is not audited with Universal API. You will not be able to see each request that came in, the output or the result of the execution. Unlike Universal Automation, Universal API is designed for maximum speed and will not start a new PowerShell process with each execution.
PowerShell Universal Dashboard is the most popular web framework for PowerShell. Check out this short video to find out more.
The entire Universal Dashboard platform has been moved underneath the PowerShell Universal umbrella. This was done in order to simplify the maintenance of our products and provide a consistent experience for our users. UD Community is no longer being developed.
That said, you can still accomplish everything you could before with PowerShell Universal. You can still create dashboards for free and host them in PSU. You’re existing dashboards should also work if you select the v2 framework. Additionally, many controls that used to be closed source are now available for free and on GitHub.
A premium license of Universal Dashboard provides additional dashboard features within PowerShell Universal. You will be able to enforce authentication and authorization, track dashboard diagnostics, utilize the UD Admin Console. The license is per dashboard.
PowerShell Universal Dashboard site licensing is provided for users that require large scale deployments of Universal Dashboard. If you are running more than a hand full of dashboards, you should consider contacting us about pricing for a site license that will allow you to run as many dashboards as you require.
Universal Dashboard is a web framework for PowerShell. You can create interactive websites, simple end-user tools or dashboards to display data. You aren’t limited to charts and graphs. Build tools to make your help desk colleagues more productive.
Universal Dashboard is built to service a couple thousand requests a second on good hardware. Don’t expect to use UD to run the next Stack Overflow or Reddit. It works perfectly well for internal tools that tens or hundreds of users are using but isn’t designed to service thousands or tens of thousands of users.
Without executing any PowerShell, Universal API can process around 500 requests per second on standard hardware. Depending on what PowerShell scripts you are calling within your API, your throughput will differ.
Universal Dashboard is a web framework for PowerShell. It uses technologies that allow you to develop GUIs using PowerShell in the browser. It has a lot of the same functionality as WinForm development in PowerShell. You can create controls such as buttons, text boxes and charts. You can react to user input and interaction as well as invoke PowerShell scripts and cmdlets from your GUIs. Universal Dashboard also runs on any platform, unlike WinForms.
You can use Universal Dashboard Forge to build desktop applications with Universal Dashboard.
Universal Dashboard and Grafana are completely different solutions. While Universal Dashboard can provide the same functionality as Grafana, it requires a working knowledge of PowerShell. Unlike it’s name may suggest, Universal Dashboard is much more than just dashboards. You can build entire tools using UD and PowerShell that accept user input, interact with React components and update dynamically. Grafana is all about reporting. UD is much more about providing a web framework for PowerShell.
Universal Automation licensing is per PowerShell Universal server. You’ll need to license each instance of a server, even if you are running many on the same machine.
Universal Automation is a cross-platform PowerShell module that is installed from the PowerShell Gallery and works on Windows, Linux and Mac. Schedule jobs are built into PowerShell and integrate with the Windows Task Scheduler.
Universal Automation and Scheduled Jobs can both schedule execution of scripts, retrieve output from the scripts and access the result of scripts.
Universal Automation uses a git repo for configuration that can be stored locally or in a git remote. Schedule jobs uses the local computer system to store files and Task Scheduler tasks to configure jobs.
Universal Automation is PowerShell specific. Unlike Jenkins, it does not require the installation of a separate plugin to execute PowerShell scripts. Universal Automation also integrates with features of PowerShell such as Read-Host and Write-Progress to provide a more native PowerShell experience. Just as with Jenkins, it does collect script output.
Both Jenkins and Universal Automation can execute scripts and schedule scripts to run.
Both Jenkins and Universal Automation allow for users to provide parameters to scripts when running them. Universal Automation doesn’t require any configuration for these parameters as they will be interpreted from the param block of your scripts.
Jenkins has the concept of projects, pipelines, and steps. Universal Automation’s architecture is simpler and doesn’t have the same level of organization. Scripts within UA can trigger other scripts to achieve pipeline-like functionality.
UA and Jenkins both other role-based access. UA provides authentication through its Universal Dashboard website. This requires some configuration of UA.
Jenkins requires the installation of Java as well as the Jenkins server itself. UA is distributed as a PowerShell module and can be downloaded using PowerShellGet.
Universal Automation is PowerShell specific. Although Azure DevOps has tasks that integrate with PowerShell, they only collect output from the stdout stream and don’t integrate as tightly with PowerShell.
Azure DevOps requires a connection to the internet to control the execution of scripts on agents that run on-premises. Universal Automation is a stand-alone agent and does not require a connection to a master to drive the execution of scripts.
Both Azure DevOps and Universal Automation can execute scripts and schedule scripts to run.
Both Azure DevOps and Universal Automation allow for users to provide parameters to scripts when running them. Universal Automation doesn’t require any configuration for these parameters as they will be interpreted from the param block of your scripts.
Azure DevOps has the concept of projects, pipelines, tasks, and steps. Universal Automation’s architecture is simpler and doesn’t have the same level of organization. Scripts within UA can trigger other scripts to achieve pipeline-like functionality.
Azure DevOps offers extensive role-based access and access controls. UA provides role-based access controls. UA provides authentication through its Universal Dashboard website. This requires some configuration of UA.
Azure DevOps configuration is handled through the use of YAML scripts within the configured repository. UA uses PowerShell scripts for configure and jobs that are run as PowerShell scripts.
Azure Automation requires an Azure Subscription and is billed based on usage of runbooks and usage of other components. Universal Automation is billed via a once a year license fee.
Azure Automation requires a connection to the internet to control the execution of scripts on agents that run on-premises. Universal Automation is a stand-alone agent and does not require a connection to a master to drive the execution of scripts.
Azure Automation collects output from the stdout stream. Universal Automation processes and handles native PowerShell object output that can then be stored or passed directly into child processes.
Universal Automation only supports the direct execution of PowerShell Scripts. (Not Python or Graphical)
Universal Automation allows specification of PowerShell version to use on a schedule / per execution basis.
Both Azure Automation and Universal Automation allow the definition of variables that can be used in Scripts.
Both Azure Automation and Universal Automation allow the definition of credentials that can be used in Scripts as well as function as a “run as” account for the script.
Both Azure Automation and Universal Automation allow for users to provide parameters to scripts when running them that are automatically retrieved from the param block of your scripts.
Azure Automation has features for Configuration Management and Update Management. Universal Automation does not have these components.