Skip to Main Content

Using Powershell to create a Space Dashboard

SquaredUp enables you to run PowerShell scripts directly in the cloud and visualize the results that come back. See how easy to use and flexible it is!

Sameer Mhaisekar

Developer Advocate, SquaredUp

Dashboard snapshot

Powershell dashboard with SquaredUp

Powershell is an extremely powerful scripting language for admins and devs for a variety of tasks – automation, administration, working with APIs to name a few. While not restricted to it, Powershell is especially useful in Microsoft ecosystem working with their suite of tools.

Keeping this in mind, SquaredUp allows you to run Powershell scripts directly in the cloud and visualize the results that come back. In the dashboard above, we show how easy it is to do so. Let's walk through the process.

Dashboard walkthrough

While the contents of the dashboard are not strictly technical, I chose to display this to demonstrate SquaredUp's ability to work with any kind of data and connect to any APIs – simple or complex – and transform the data into various visualizations.

The tiles in the dashboard are calling a couple of different APIs to get their data. I'll walk you through the configuration of a couple of them.

The tile "Potentially Dangerous Asteroids" runs the following script:

$response= Invoke-RestMethod "https://api.nasa.gov/neo/rest/v1/feed?start_date=2024-09-07&end_date=2024-09-08&api_key=V6GIXUDe4INueCPWhFIAIE6cfuMNSlHxrJGWvf8D"
# Initialize an array to store the data$asteroidData= @()
# Loop through each date in near_earth_objectsforeach($datein$response.near_earth_objects.PSObject.Properties.Name){# Loop through each near-earth object for that dateforeach($neoin$response.near_earth_objects.$date){# Collect data for each object$asteroidData+=[PSCustomObject]@{ Date =$date Name =$neo.name IsPotentiallyHazardous =$neo.is_potentially_hazardous_asteroid}}}
$asteroidData

As you can see, it is a simple script that calls an API and outputs the data in tabular format for SquaredUp. From there, SquaredUp can visualize that data as we need.

Simple as that! Let me show you another example of a slightly more complicated script from the "Where's the ISS at?" tile.

# Step 1: Retrieve ISS positional data from WhereTheISS.at API$issUrl="https://api.wheretheiss.at/v1/satellites/25544"$issResponse= Invoke-RestMethod -Uri $issUrl-Method Get
# Extract latitude and longitude from the response$latitude=$issResponse.latitude$longitude=$issResponse.longitude
# Display ISS positional dataWrite-Output "Latitude: $latitude"Write-Output "Longitude: $longitude"
# Step 2: Reverse geocode using OpenCage API to get nearest recognizable landmass# Replace with your actual OpenCage API key$apiKey="376b6b0202c5499fb54830cf1de553d4"$geocodeUrl="https://api.opencagedata.com/geocode/v1/json?q=$latitude+$longitude&key=$apiKey"
# Make the API request to OpenCage for reverse geocoding$geocodeResponse= Invoke-RestMethod -Uri $geocodeUrl-Method Get
# Check if the response contains resultsif($geocodeResponse.results.Count -gt 0){# Get the nearest recognizable landmass or address$location=$geocodeResponse.results[0].formatted Write-Output "Nearest Recognizable Landmark: $location"}else{ Write-Output "No landmass found for the given coordinates."}


Here we're calling two different APIs and using Powershell to combine and format that data to feed into SquaredUp.

You can run your script here and as long as SquaredUp cloud has access to the API or data source you are calling, you should be able to bring that data in and create a nice dashboard out of it.

For the data that sits in your private cloud, we have an on-prem version of the plugin too. You can install and use that via SquaredUp relay agent to run scripts locally on the server in your environment and display that on the same dashboard.

Get the dashboards

  1. Create a free SquaredUp account
  2. Add the Powershell plugin
  3. Paste the script in and start dashboarding!

To see what other dashboards you can create, check out our Dashboard Gallery.

Visualize over 60 data sources, including:

View all 60+ plugins