Installing the JumpCloud.Dashboard PowerShell Module - TheJumpCloud/support GitHub Wiki

What is the JumpCloud.Dashboard PowerShell Module

The JumpCloud.Dashboard PowerShell module contains a single PowerShell function Start-JCDashboard.

When the Start-JCDashboard function is called dashboards containing valuable JumpCloud directory information load within the default web browser on the local system.

Installing the JumpCloud.Dashboard PowerShell Module

Installing the JumpCloud.Dashboard module can be done by running a single PowerShell command to install the module and its dependencies.

Run the following command to install the JumpCloud.Dashboard module:

Install-Module "JumpCloud.Dashboard"  -Force -Scope CurrentUser

Supported Platforms

The JumpCloud.Dashboard module is supported on the following versions of PowerShell

The JumpCloud.Dashboard module is dependant on and requires the below modules to run:

Launching the JumpCloud.Dashboard

After the JumpCloud module is installed run the command:

Start-JCDashboard

Authenticate the module to the JumpCloud API using a JumpCloud API key.

Locate your JumpCloud API key within the JumpCloud admin console. Need help finding your JumpCloud API key? Follow this link.

Example:

/Users/buster> Start-JCDashboard

cmdlet Connect-JCOnline at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
JumpCloudApiKey: 

If there is an update available for the module you will be asked if you would like to update.

The dashboard will load inside your default web browser.

Advanced Usages

The Start-JCDashboard has additional parameters that can be used to specify how often the dashboard refreshes and which systems information to load based on the systems last contact date.

Find examples for using these parameters below.

Start-JCDashboard -LastContactDays 10

Launches the JumpCloud Dashboard and only displays systems that have contacted JumpCloud in the last 10 days.

Start-JCDashboard -RefreshInterval 90

Launches the JumpCloud Dashboard and sets the component refresh interval to 90 seconds.

How does the JumpCloud.Dashboard Module Work?

The PowerShell terminal that calls the Start-JCDashboard command becomes the web server which hosts the webpage for the system that called the Start-JCDashboard function in the systems default browser.

The PowerShell terminal acts as a webserver using the PowerShell Universal Dashboard web framework and only hosts the web page for the local machine.

No external systems can reach the web page hosted by the PowerShell terminal.

The webpage will continue to refresh as long as the PowerShell terminal which calls the Start-JCDashboard command stays open and operational.

The default port used by the JumpCloud.Dashboard module is 8003 on local host 127.0.0.1.

The default refresh time is 30 seconds for the users dashboard 60 seconds for the systems dashboard.

When the Start-JCDashboard function is called users are prompted to authenticate with a JumpCloud API key.

This API key is used to query and compile data from a JumpCloud organization using functions in the JumpCloud Powershell module.

  • Note the JumpCloud.Dashboard module only gathers data using "GET" commands. No calls to modify directory objects are made using this module.

Data is displayed in dashboards using functions in the Universal Dashboard Community module. Dashboards load graphic using the UniversalDashboard.UDunDraw module.

Troubleshooting Tips

Unable to run Start-JCDashboard? If you're running PowerShell core make sure your PowerShell core version is at least version 6.2 or above.

The command $PSVersionTable can be used to check the version of PowerShell installed.

/Users/buster> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.2.4
PSEdition                      Core
GitCommitId                    6.2.4
OS                             Darwin 18.7.0 Darwin Kernel Version 18.7.0: Sun Dec  1 18:59:03 PST 2019; root:xnu-4903.278.19~1/REL…
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

The module PSCoreUpdate can be used to update PowerShell Core directly from the PowerShell terminal

Install-Module PSCoreUpdate -force -Scope CurrentUser
Update-PowerShellCore