Links

ZeroTier One

PowerShell script to silently deploy the latest ZeroTier One client.

Overview

Hint: Need to remove ZeroTier? See the ZeroTier removal script.
This script was written to ease deployment of the ZeroTier client across multiple systems. The script will install the ZeroTier client, add it to your ZeroTier network, authorize it, and name the device. Additional parameters are available for the various configuration options.
ZeroTier will be installed in a headless configuration unless the -UI parameter is used.
Prerequisites:
  1. 1.
    Create a ZeroTier account / network
  2. 2.
    Copy network ID
  3. 3.
    Create an API access token
  4. 4.
    Deploy ZeroTier using the script below

Installation Script

Note: This script requires PowerShell 7 to access the ZeroTier API. If PowerShell 7 is not already installed, it will be installed by the script.

Update Script

Although the above installation script can also be used to update a ZeroTier installation, I have provided a simpler script below to quickly update ZeroTier to the latest version, if it is already installed.

Usage Examples

Install ZeroTier UI & Join a Network
.\InstallZeroTier.ps1 -NetworkID 1234567890abcdef -UI
Install ZeroTier (Headless), Join a Network, & Authorize
.\InstallZeroTier.ps1 -NetworkID 1234567890abcdef -Token aljdsfbisabfljdsfnklsdfkjbadsflkbsadls
Allow ZeroTier Client to Manage Global Routes
.\InstallZeroTier.ps1 -NetworkID 1234567890abcdef -GlobalRoutes

Parameters

  • -NetworkID (Required) : ZeroTier Network ID for the network you are deploying
  • -Token (Required) : ZeroTier API access token
  • -UI : Installs ZeroTier with UI components
  • -DisableDNS : Disables ZeroTier DNS Management
  • -GlobalRoutes : Allows ZeroTier managed routes to overlap public IP space
  • -DefaultRoute : Allows ZeroTier to override system default route (full tunnel)

Learn More

Want to learn more about how this script works? Included below are official documentation links for all cmdlets used in this script, as well as other useful documentation where applicable.
Cmdlet Documentation: