UD not taking License

We have a UD site (one of many), that keeps showing the 'Universal Dashboard Enterprise cannot be used remotely when unlicensed"

We have the .LIC file in the NET472 folder. Am I missing something?

Hey @jmaurina sorry to hear you having this issue. Just to confirm how are you running UD? Like through IIS or as a service?
I’ve seen in various posts clearing browser cache can fix weird issues. UD is licensed per dashboard

We are using it through IIS and I have the license file in the correct folder.

I haven’t tried clearing the browser cache.

Hmm :thinking: weird I use IIS and place it in the net472 folder and everything just works…what version of UD does this happen with? Have you tried a different UD version?

Make sure you put the license.lic file in the net472 folder of the UD PowerShell module not just in a net472 folder in the IIS website.

1 Like

Hi Adam,

could you please advice if I picked the right folder?

Looking forward to read your feedback.

ruben

@Juanito99

Short Answer:

Copy your license.lic to your UniversalDashboard Module directory:
C:\Users\<username>\Documents\WindowsPowerShell\Modules\UniversalDashboard\2.9.0\net472

Long Version:

Actually, since version 2.8.3/2.9.0, you don’t need the UniversalDashboard module in your IIS website directory. But you should make sure that you import the UniversalDashboard module in your dashboard.ps1 or a file called from it.
You only need to install the module and put your license.lic in the module directory:

For Powershell 5.1 -> In the subfolder net472
–>
User Install:
C:\Users\<username>\Documents\WindowsPowerShell\Modules\UniversalDashboard\2.9.0\net472
–>
System Install:
C:\Program Files\WindowsPowerShell\Modules
OR
C:\Windows\system32\WindowsPowerShell\v1.0\Modules

For Powershell Core (6.0 - 7.0) -> In the subfolder netstandard2.0
–>
User Install:
C:\Users\<username>\Documents\PowerShell\Modules\UniversalDashboard\2.9.0\netstandard2.0
–>
System Install:
C:\Program Files\PowerShell\Modules
OR
C:\Program Files\PowerShell\7\Modules

The easiest way is to install the UniversalDashboard module with the user (-Scope CurrentUser) you also use as ApplicationPool Identity in IIS. Meaning: The user running the IIS website should also have access to the module directory where the UniversalDashboard module is installed.

Also take a look at the official documentation:
https://docs.universaldashboard.io/licensing
&
https://docs.universaldashboard.io/webserver/running-dashboards/iis#licensing

You can find the path were you have installed the UniversalDashboard module by running the following command Get-Module -ListAvailable UniversalDashboard | Select-Object ModuleBase

Since 2.9.0 you also need to use a “new” web.config file for IIS. This ensures that the UniversalDashboard.exe wrapper file is no longer used and you do not need a copy of the UniversalDashboard module inside your IIS website folder. Instead, IIS directly starts the powershell and your dashboard.ps1 file located in your IIS website folder.

Edit:

This is the part for UD of my IIS web.config for one of my dashboards:

  • The Standard Output of the started IIS dashboard will be logged in the subfolder logs (Also all of my dashboard logfiles are logging to this subfolder)
  • The iis website uses the powershell 5.1 exe (full path) and will start the dashboard.ps1 file located in your iis website root folder
  • forwardWindowsAuthToken ist used for Pass-Through Authentication
<aspNetCore processPath="C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" arguments=".\dashboard.ps1" stdoutLogEnabled="true" stdoutLogFile=".\logs\\stdout" forwardWindowsAuthToken="true" />

I am also using SSL Offloading and HTTP to HTTPS redirection inside my web.config, this also works fine.

2 Likes

Hi @Mordecai,

I took the short version and it worked with charm. :smiley:
Many thanks for the additional information!

Which kind of SSL offloader are you using? F5, Kemp or an Azure Application Gateway?

Thanks again.

Ruben

Usually I use the application gateway from A10 (Thunder).
The different dashboards currently use an IIS with configured HTTPs binding (including certificate) + an HTTP to HTTPS redirection in the web.config. UniversalDashboard/Kestrel behind it is of course also accessed via SSL (with HTTPS including certificate).
If I need failover for one of the dashboards, the A10 is placed in front of it and the SSL offloading is shifted to the A10.