ZeroTier runs as a system service (ZeroTierOneService) that starts at boot — the tray icon is a separate UI process.
The node identity (public/private key + node ID) is stored in C:\ProgramData\ZeroTier\One\identity.public and identity.secret — never share identity.secret.
Network join configuration is in C:\ProgramData\ZeroTier\One\networks.d\.
ZeroTier installs a virtual network adapter visible in Device Manager and Get-NetAdapter.
# Check service statusGet-Service-Name"ZeroTierOneService"|Select-ObjectName,Status,StartType# List ZeroTier virtual adaptersGet-NetAdapter|Where-Object{$_.InterfaceDescription-like"*ZeroTier*"}# Read node ID (first 10 chars of identity.public)$id=Get-Content"C:\ProgramData\ZeroTier\One\identity.public"-ErrorActionSilentlyContinueif($id){$id.Split(':')[0]}
🗑️ Cleanup
# Stop and remove the serviceStop-Service-Name"ZeroTierOneService"-ErrorActionSilentlyContinuesc.exedeleteZeroTierOneService2>$null# Remove registry keysRemove-Item-Path"HKLM:\SOFTWARE\ZeroTier, Inc.\ZeroTier One"-Recurse-ErrorActionSilentlyContinueRemove-Item-Path"HKLM:\SYSTEM\CurrentControlSet\Services\ZeroTierOneService"-Recurse-ErrorActionSilentlyContinueRemove-ItemProperty-Path"HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"`-Name"ZeroTier One"-ErrorActionSilentlyContinue