For the complete documentation index, see llms.txt. This page is also available as Markdown.

PowerShell Module (PSVergeOS)

Manage VergeOS infrastructure with the PSVergeOS PowerShell module — over 200 cmdlets for VM lifecycle, networking, storage, multi-tenancy, VPN, and disaster recovery automation.

PSVergeOS is a cross-platform PowerShell module that provides over 200 cmdlets for managing VergeOS infrastructure through the REST API. If your team already uses PowerShell for Windows Server, Active Directory, or VMware management, PSVergeOS lets you extend those same workflows and scripting patterns to VergeOS — with full pipeline support, tab completion, and the familiar Verb-Noun cmdlet naming convention.

Requirements & Installation

Requirement
Version

PowerShell

7.4 or later

VergeOS

26.0 or later

Platform

Windows, macOS, Linux

Install-Module -Name PSVergeOS -Scope CurrentUser

Manual Installation (Development)

git clone https://github.com/verge-io/PSVergeOS.git
Import-Module ./PSVergeOS/PSVergeOS.psd1

Verify Installation

Get-Module PSVergeOS -ListAvailable
Get-Command -Module PSVergeOS | Measure-Object  # Should show 200+ cmdlets

Authentication

PSVergeOS supports multiple authentication methods to fit different environments — from interactive admin sessions to fully automated pipelines.

Interactive Credentials

Prompt for username and password at connection time:

PSCredential Object

Store credentials securely for non-interactive scripts:

API Token

Use a pre-generated API token for automation pipelines:

Self-Signed Certificates

For lab and development environments with self-signed certificates:

Multi-Server Management

PSVergeOS can manage multiple VergeOS systems from a single PowerShell session. Use the -PassThru parameter to capture connection objects and the -Server parameter to target specific systems:

This is particularly valuable for MSPs managing multiple customer environments or organizations with separate production and development VergeOS clusters.

Cmdlet Categories

The module organizes its 200+ cmdlets into functional categories. Each category covers the full CRUD lifecycle plus resource-specific actions.

Category
Description

Connection

Connect, disconnect, manage server connections

Virtual Machines

Lifecycle, power control, snapshots, drives, NICs, cloning

Networking

Virtual networks, firewall rules, DNS, DHCP, diagnostics

VPN

IPSec connections/policies, WireGuard interfaces/peers

NAS & Storage

NAS services, volumes, CIFS/NFS shares, snapshots, sync

Tenants

Provisioning, snapshots, storage/network block allocation

Users & Groups

Account management, permissions, API keys

System

Clusters, nodes, licenses, settings

Certificates

SSL certificate management

Tags

Resource tagging and categorization

Webhooks

Event-driven automation hooks

Monitoring & Tasks

Alarms, logs, async task tracking

Backup & DR

Snapshot profiles, cloud snapshots, site management, sync

Files & Media

ISO management, file uploads

Resource Groups

Logical resource grouping

VPN Cmdlets (IPSec & WireGuard)

The VPN category deserves special attention — PSVergeOS provides full management for both IPSec and WireGuard VPN implementations:

IPSec:

  • New-VergeIPSecConnection / Get-VergeIPSecConnection / Remove-VergeIPSecConnection

  • New-VergeIPSecPolicy / Get-VergeIPSecPolicy / Remove-VergeIPSecPolicy

WireGuard:

  • New-VergeWireGuardInterface / Get-VergeWireGuardInterface / Remove-VergeWireGuardInterface

  • New-VergeWireGuardPeer / Get-VergeWireGuardPeer / Remove-VergeWireGuardPeer

Pipeline Support

One of PSVergeOS's biggest strengths is full PowerShell pipeline support. Cmdlets accept pipeline input and produce pipeline output, enabling concise one-liners for bulk operations:

Pipeline support makes PSVergeOS particularly effective for scheduled maintenance tasks integrated with Windows Task Scheduler or Linux cron jobs.

Practical Examples

Bulk Snapshot with Retention

VM Inventory CSV Export

Network Creation with Firewall Rules

Multi-Tenant Resource Report

WireGuard VPN Setup

Integration with Task Scheduler

PSVergeOS scripts integrate naturally with scheduled task systems for hands-off automation:

Windows Task Scheduler:

Linux cron (PowerShell 7.4+):

Common Use Cases

Bulk VM Operations

Stop, start, snapshot, or migrate multiple VMs with pipeline one-liners. Ideal for maintenance windows.

Infrastructure Reporting

Export VM inventory, resource usage, and configuration data to CSV for auditing and capacity planning.

Network Automation

Create networks, configure DHCP, manage firewall rules, and set up VPN tunnels programmatically.

Scheduled Maintenance

Integrate with Task Scheduler or cron for automated snapshots, cleanup, and compliance checks.

Coming from VMware or Nutanix?

PSVergeOS uses the standard PowerShell Verb-Noun convention so muscle memory transfers — Get-VM | Stop-VM becomes Get-VergeVM | Stop-VergeVM. Authentication supports interactive prompts, PSCredential objects, and API tokens, so the same scripting patterns you already use for non-interactive automation apply here. To manage more than one VergeOS system from a single session, pass -Server on each cmdlet to target a specific connection.

Additional Resources

Last updated

Was this helpful?