PowerShell

Accessing your Ubiquiti Unifi network configuration with PowerShell

Almost two years ago I rebuilt my home network with Ubiquiti Unifi equipment. Yet it wasn’t until recently I wanted to programmatically get configuration information out of it. Luckily there were a number of examples accessing the Unifi API, but none with PowerShell. This post is about accessing your Ubiquiti Unifi network configuration with PowerShell.  I show how to obtain a list of Sites, Devices and Clients. Then how to report on a list of clients status (Active or Away).

Sites, Devices and Active Clients

To report on your Unifi network configuration with PowerShell you will need to update the following script with your;

  • Unifi Controller Address
  • Unifi Admin User ID
  • Unifi Admin Users’ Password

It assumes that your configuration is using the default Site Name (but you can change that in Line 4) and that your controller is using a self-signed certificate (default).

See the gist on github.

Who’s Home or Away?

The following script looks at Active Clients and Registered Clients to determine whether a Registered Client is currently active or away. When the interesting client is a mobile phone this essentially becomes and Who’s Home or Away.

In conjunction with a notification service (such as Push Bullet that I used in this solution) you can trigger notification alerts.

Update the following script for;

  • interesting clients (lines 3-5)
  • your Controller and Account settings as per the script above (lines 8-13)

See the gist on github.

The output is

Ubiquiti Unifi Who’s Home or Away

This info could then be put into a notification if you so desired. Something like Push Bullet like I did in this post. You will need to do a little manipulation to get a nice multi-line output for the notification though. The following snippet shows how I did it. Add your Push Bullet Access Token in line 3.

See the gist on github.

Summary

Using PowerShell anything is possible. Even connecting to our Ubiquiti Unifi implementation and retrieving info on clients and devices.

Darren Robinson

Bespoke learnings from a Microsoft Identity and Access Management Architect using lots of Microsoft Identity Manager, Azure Active Directory, PowerShell, SailPoint IdentityNow and Lithnet products and services.

View Comments

Recent Posts

Visualising your IP Address using PowerShell and AI

A few weeks back the Microsoft AI Tour was in Sydney Australia. There was a…

2 months ago

Where the heck is the PowerShell Module loading from?

If you're anything like me you always have PowerShell open, and often both PowerShell and…

5 months ago

Express Verified ID Setup

Decentralised Identity is a technology I'm passionate about and have written many posts and tools…

6 months ago

Orchestrating 1Password with PowerShell

Over two years ago I authored a PowerShell Module that enabled the automation of 1Password.…

9 months ago

Entra ID Tenant ID & Custom Domains PowerShell Module

Buried in my PowerShell Snippets Vol 4 post from 2021 is the PowerShell script and…

9 months ago

Windows Subsystem for Linux instance has terminated

Short post on how to recovery from "The Windows Subsystem for Linux instance has terminated"…

10 months ago

This website uses cookies.