As I am reading the migration. Since you dont need to call the dashboard anymore, How do I run multiple dashboards on diffrent ports. Did I miss that?
You can start multiple Universal instances each on their own port: https://docs.ironmansoftware.com/config/settings#setting-descriptions
For example:
{
"Kestrel": {
"Endpoints": {
"HTTP": {
"Url": "http://*:10000"
}
}
},
So each UD will have its own JSON file?
Yeah. Each instance of Universal has an appsettings.json
file for configuration of all the settings for the service.
The settings can also be passed on the command line and via environment variables.
Just curious, whatās your reason for running on multiple ports? Just separating instances? Authentication differences?
Seperate instances, I probably dont use PU entirely as it was intended.
I use it to front end a lot of interactive scripts to help users perform tasks without touching services rather than actually using it as a dashboard.
For example rather than having users login to citrix to kill off session we have a dashboard where live sessions are running and you can select one or many and kill them off.
So each of these is hosted on a different dashboard.
In other instances of the dashboard its a form to fill in that automates the setup of new clients into a system. So thats on a diffrent dashboard with multiple pages.
Would you suggest a better way of doing things?
Ok. That makes sense.
With PU, you can now run multiple dashboards underneath a single server. For example, you could have your Citrix dashboard running and then when the user visits http://myserver:5000/citrix
they would load up the Citrix dashboard.
If then you wanted to host your dashboard for new clients, you could have the user visit http://myserver:5000/newclient
. The pages would still work as in they could go to http://myserver:5000/newclient/start
.
You could even setup a landing page dashboard that linked to your various tools at the root http://myserver:5000/
.
It would give you a single web server to manage. The individual dashboards run in their own PowerShell processes so resources, session variables and cache variables are all isolated. You can restart individual dashboards if you need to.
You can still go the route of running multiple PU instances with different ports. Nothing preventing you from doing that. Youāll mostly be able to duplicate the configuration for each PU instance and start up the servers on different ports.
Oh this is great. A single spot would be very nice. Since I am migrating anyway I think I will look into that.
It would simplify all the tasks into a single landing page. What would be the best way to present the landing page to the user and switch between dashboards.
Just cards with each one or is there a nice menu system I could use?
While I do a lot of scripts this is a bit new to me so trying to learn the best way to use the product and get the most seamless experience for my users.
You could use a list: https://docs.ironmansoftware.com/dashboard/components/data-display/list
Or maybe an example panel with some info on the tool and then a button as link: https://docs.ironmansoftware.com/dashboard/components/surfaces/expansion-panel
PU includes the new Universal Dashboard v3 framework so even though you can still run your v2 dashboards, you can also run v3 dashboards: https://docs.ironmansoftware.com/dashboard/dashboard-frameworks
Iām a bit biased but the v3 framework is much easier to work with.
Out of interest do you have an example of how you would set this up with a single landing page and multiple dashboards running under it, and how to start and stop each one.
Right now when I run them on there own port I turn them into services so they can be started and stopped easily especially when updated.
I will move everything to the V3 then
I donāt have a example of this specifically but I could do a quick blog post later today to outline this concept. I think others will benefit from that info.
If you download the MSI from here, it will install automatically as a service: https://ironmansoftware.com/download
That was my plan, to install from there and start trying to create something. I think a blog post would be great as I could imagine a lot of people benefiting from this.
There is so much this can do and it is so great. I have found sometimes its hard to find all the information needed, lots of trial and error or asking on here. But it is so good that people are active and help out. The community and you are so good at responding.
Its why I am moving a lot of scripts I use to this just to make it easier for techs and users not comfortable in using scripts to this. Just gets them an easy to use front end.
I hope to be able to answer peoples questions at points as I keep using it and find ways to do things I need as I am sure others are trying to do the same thing.
This new Automation part looks very interesting too.
Cool. Yeah make sure to keep asking questions. Iāve been trying to be way more proactive with the documentation and blog articles to make sure people have an easier go with PU than a lot of people did with UD.
Yeah, writing docs is always the toughest part as everyone wants something so diffrent. I will keep asking questions.
My next plan for one of my dashes, I need to learn how to create a endpoint to call from a link with a post for approval of something. Any ideas?
So user clicks a link and then it initiates an approval process?
Is the approval managed by PS or some other system?
Basically I want the user to be able to access a dashboard to do something. When they have selected whatever it is and click submit it sends out an approval email with a link. Then when clicked that process is approved and a function in powershell will perform the action.
something like that.
Sorry one more Q about installing. I have setup the new server (I dont use VS to code I just do it in notepad++) should I just download the MSI or should I be installing the PSU VSCode tools or both?
For the approvals, you could use Automation for this as it would be audited and logged. You could do this in a dashboard but there wouldnāt be really any record of the approval unless you stored it somewhere.
Hereās an example of invoke automation script from a dashboard: https://github.com/ironmansoftware/universal-templates/blob/master/active-directory/Help%20Desk.ps1#L52
Then the automation script could send the approval email. The approval email could contain a link to an API endpoint with an ID or something that would somehow tell the job that itās been approved. There would need to be some communication from the API to the running automation script. This could be like the creation of an approval file the script is checking for or something like that.
You can still just use Notepad++ if you like. PU uses configuration files stored in C:\ProgramData.universal so everything can be configured via code.
The VS Code extension, while a learning curve, can provide PowerShell IntelliSense and allow you to manage your PU instance directly from within the editor.
I was thinking of having a CSV with jobs submitted and information. When the approval comes in it sets the approved flag that the script checks for, something like that any way.
Ok ill install the MSI and see where I go from there.