PowerShell Universal 1.2

Today, we are releasing another awesome version of PowerShell Universal! PowerShell Universal 1.2 is the ultimate tool for building web-based IT tools. This release includes a ton of new features as well as a bunch of bug fixes. You can download Universal right now and start building for free. Read below for more information on what’s included in this release.

API Support

We have added API support to Universal. You can now build REST APIs using PowerShell scripts directly in Universal. REST APIs support standard HTTP verbs and can execute any PowerShell script when invoked by a compatible HTTP client.

You can learn all about APIs on the documentation page. You can run as many API endpoints as you like for free. A license is required to use authentication and authorization of APIs.

APIs are now licensed as a separate product. If you don’t need API support, you don’t need to purchase it. If you have an existing Universal Dashboard license, you will receive API support in Universal for free.

Automation

We have a couple of new options for automation that make it easier to manage what is shown and collected by the job execution system.

Preference Variable Support

We’ve added controls for configuring which streams are recorded in the Job log. You can now set whether you want Information, Verbose or Debug streams to show in the log output of the Universal job execution page.

Dashboard

Dashboards were a big focus of the 1.2 release of Universal. We are getting closer to a GA release of both in-box dashboard frameworks. Your existing dashboards should work much better using the v2.9.1-beta3 framework that is now included with Universal. There have also been a series of enhancements and fixes to the v3 framework as well.

Theming for v3

We’ve implemented theming for UDv3. You can now create a hashtable and apply a theme to your dashboard. v3’s theme engine is based directly on the underlying Material UI theme engine. You don’t have to mess with CSS to get your dashboard to look the way you want. Since all the controls implement the theme support, you can just adjust a few colors to start applying themes today.

You can read more about the theme support on our documentation page.

Universal Integration

Universal Dashboard can now automatically retrieve app tokens for users that login to dashboards. This means you’ll be able to use the Universal cmdlets to interact with the Universal platform directly from your dashboard. Now you can kick off jobs, retrieve job statuses, start other dashboards or manage APIs directly from a dashboard page.

In-Browser Editor

Much like the API and Job editor, you can now edit Dashboards directly in the Universal admin console. This makes it easy to tweak components and endpoints to achieve the dashboard you’re looking for without having to leave the browser.

Platform

We’ve made a series of improvements to the Universal platform to better support the development of the features built on top of it.

Idempotent Configurations

Universal has always used idempotent configurations to allow for repeatable instances of the platform. The issue was that not all entities provided such configuration and the configuration files were not very easy to work with. With Universal 1.2, we have migrated the configuration system to use cmdlets rather than .NET Classes. They actually use the same cmdlets you will use to call the REST API. If you’re familiar with the Universal module, you’ll be familiar with the configuration files.

Any changes to you make to Universal in either the Admin console or within the REST API will result in an update to these configuration files.  You can also edit the configuration files with your favorite PowerShell editor and the platform will automatically reload them. This means you can rapidly develop for the Universal platform without having to restart it.

To learn all about configuration in Universal, visit our documentation page.

Git Sync Optional

Previous versions of Universal used Git for storage of the configuration files no matter if you configured a remote or not. In order to simplify it for our users, we’ve decided to make Git sync optional. If you configure a Git remote for Universal will automatically sync changes from the local and remote. This means that you can still use DevOps best practices to deploy Universal code changes but you can also just run Universal as a stand-alone application without Git integration.

Swagger Documentation

Swagger documentation has been enabled to provide users with the ability to view the APIs that are available on the Universal platform. Swagger will list the APIs for managing Universal but not (yet) the API endpoints that you define using our API feature.

WS-Federation Support

We’ve added support for configuring WS-Federation authentication in Universal. You will find new settings in the appsettings.json file for your WS-Federation options.

PowerShell Modules

We’ve published PowerShell modules for UniversalDashboard and Universal to the PowerShell Gallery. This should provide you the ability to easily install them to provide IntelliSense when developing dashboards and configurations.

Changelog

We have a full changelog available if you would like to see the entire set of changes to Universal.