Skip to content

VergeOS PowerShell Module (PSVergeOS)#

Overview#

PSVergeOS is a PowerShell module for managing VergeOS infrastructure through the REST API. It provides over 200 cmdlets for automating VM lifecycle, networking, storage, multi-tenant operations, and disaster recovery workflows, enabling administrators to leverage their PowerShell expertise for VergeOS management.

Key Features#

  • VM Management: Creation, configuration, power control, cloning, snapshots, and migration
  • Advanced Networking: Virtual networks, firewall rules, DHCP, DNS, IPSec VPN, and WireGuard
  • NAS & Storage: Volume management, CIFS/NFS shares, and synchronization
  • Multi-Tenancy: Tenant provisioning with resource isolation
  • Disaster Recovery: Cloud snapshots, site synchronization, recovery workflows
  • Pipeline Support: Chainable cmdlets for bulk operations
  • Cross-Platform: Windows, macOS, and Linux with PowerShell 7.4+

Requirements#

  • PowerShell 7.4 or later
  • VergeOS 26.0 or later

Installation#

Install-Module -Name PSVergeOS -Scope CurrentUser

Manual Installation#

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

Authentication#

The module supports multiple authentication methods:

  • Interactive credentials: Prompt for username and password at runtime
  • PSCredential objects: Automate authentication with stored credentials
  • API tokens: Use pre-generated tokens for non-interactive scenarios
  • Self-signed certificates: Option to skip certificate validation for test environments

Available Cmdlets#

The module contains over 200 cmdlets organized by category:

Category Description
Connection Connect, disconnect, and manage server connections
Virtual Machines Lifecycle, snapshots, drives, NICs
Networking Networks, rules, DNS, DHCP, diagnostics
VPN IPSec connections/policies, WireGuard interfaces/peers
NAS/Storage Services, volumes, shares, snapshots, synchronization
Tenants Provisioning, snapshots, storage allocation
Users & Groups Account management, permissions, API keys
System Clusters, nodes, licenses, settings
Monitoring Alarms, logs, tasks
Backup & DR Profiles, cloud snapshots, site management

Common Use Cases#

  • Bulk VM operations: Stop, start, snapshot, or migrate multiple VMs with pipeline support
  • Infrastructure reporting: Export VM inventory, resource usage, and configuration data
  • Network automation: Create networks, configure DHCP, and manage firewall rules
  • Scheduled maintenance: Integrate with Task Scheduler or cron for automated operations
  • CI/CD integration: Provision test environments as part of deployment pipelines

For code samples, see the Examples directory in the GitHub repository.

Documentation and Resources#

For complete documentation, including all cmdlets, parameters, and detailed usage examples, visit the official repository:

Support#

If you encounter issues or have feature requests, please open an issue on the GitHub repository:

https://github.com/verge-io/PSVergeOS/issues

Additional Resources#