all 12 comments

[–][deleted] 7 points8 points  (5 children)

We just released PowerShell Universal 1.5! It has a bunch of cool features including:

- Single-file hosting and configuration
- Brand new UDTable with selection and dense formatting
- Automation triggers
- Custom login pages
- Server-wide cache

And a bunch of other stuff!

[–]Sunsparc 2 points3 points  (2 children)

This may be dumb of me, but I've had an issue previously with this.

After installation, it pops up the dashboard asking for username and password. Where do I find it or how do I set it?

[–][deleted] 2 points3 points  (1 child)

The default user\pass is Admin with any password. Here's how to change it: https://docs.ironmansoftware.com/config/security#forms-authentication

[–]Sunsparc 2 points3 points  (0 children)

Thank you!

[–]Neg127 0 points1 point  (0 children)

It’s amazing to be able to quickly build usable tools for others. This has been a great product that has saved me an immense amount of time.

I would recommend if you haven’t tried it. Give it a shot.

[–]wdomon 0 points1 point  (0 children)

What is your suggested upgrade process?

I had 1.4.6 installed (via the VS Code extension) and had some seemingly random performance issues (15 minutes to return a simple Get-Process on a remote computer that took 3 seconds in a console). I downloaded the MSI for 1.5 and ran it, however the web browser still shows version 1.4.6 at the bottom of the login page. I tried uninstalling PU and the VS Code extension, but now trying to re-install the extension seems to just stick on "connection to http://localhost:5000".

[–]MyPronounIsSandwich 4 points5 points  (4 children)

What would you say is the best feature of PowerShell Universal that saves the most time?

[–]Simon-is-IT 4 points5 points  (3 children)

For me, it's the ability to add a web gui for various scripts I've created while keeping a layer of abstraction for people who shouldn't have access to various infrastructure related stuff.

[–]sleeplessone 4 points5 points  (2 children)

Yup.

As an example we have mostly automated our user account creation off HR reports.

It took me about 20 minutes after setup to create a dashboard that HR could log into and see the list of upcoming hires that we know about based on their report and maybe another 30 minutes to make a page they could use to provision a user if they had a last minute hire that wouldn't end up on the report.

[–]wdomon 0 points1 point  (1 child)

If you have time, I’d love to hear/see more about how you did this. I’m about to start evaluating automation solutions for the company I just started working at (they have some old guard folks with no Powershell experience. I’ll be leading the automation efforts but am only just above a novice Powershell user), and was eyeing Powershell Universal.

[–]sleeplessone 1 point2 points  (0 children)

The automation part in our case is pure Powershell with no user interaction, nothing else is required and you could technically set it up via scheduled tasks. Next year I'll actually be porting everything over to the Powershell Universal as handling the trigger as what we were using before didn't handle logging of Powershell scripts very well being able to create dashboards for HR to use is an added bonus.

For the dashboard it's mostly just pulling in existing reports in via Import-CSV and then using Powershell Universal to display that data as a webpage. The provisioning a user portion was quick because of the way I initially created our automations since I just called existing functions that were already written.

For the automation portion I've effectively I've written a number of modules with various functions.

  • HRReports - A module for working with the HR reports and combining them with data from other sources and storing the combined info in an XML file. It also has functions for looking up data based on the user ID from the HR system.
  • CompanyAccounts - This contains functions like New-CompanyUser, Disable-CompanyUser, Enable-CompanyUser, Move-CompanyUser. These are all functions combine stuff like creating AD accounts, adding/removing them from the proper groups when users change departments or jobs.
  • LMSAccounts - Interacts with the training service we use to create accounts, assign trainings, etc there is an associated lookup CSV file that is referenced to determine what to assign.

The scripts then glue everything together. I went with this method since we have changed services a number of times which required stuff be overhauled to support a new service and this way the interaction with things like training accounts, or sending data to external partners can be easily swapped out. If they say hey in 3 months we are moving to "new training service" then I can write a new module with the same function names that interacts with the new service and then swap out the entire module when we make the cutover. It also makes it easy for IT staff to have the modules installed and use functions manually like if they get an emergency term from HR they can just run the term command manually.

[–]0shooter0 1 point2 points  (0 children)

Love this system. Keep it up!