> For the complete documentation index, see [llms.txt](https://docs.vergeos-demo.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vergeos-demo.com/automate-protect-and-extend/integrations-and-apis/powershell-module.md).

# 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

### From PowerShell Gallery (Recommended)

```powershell
Install-Module -Name PSVergeOS -Scope CurrentUser
```

### Manual Installation

```powershell
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](https://github.com/verge-io/PSVergeOS/tree/main/Examples){target="\_blank"} in the GitHub repository.

## Documentation and Resources

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

* [GitHub Repository](https://github.com/verge-io/PSVergeOS){target="\_blank"}
* [PowerShell Gallery](https://www.powershellgallery.com/packages/PSVergeOS){target="\_blank"}

## Support

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

<https://github.com/verge-io/PSVergeOS/issues>{target="\_blank"}

## Additional Resources

* [PowerShell Documentation](https://learn.microsoft.com/en-us/powershell/){target="\_blank"}
* [VergeOS API Documentation](https://docs.vergeos-demo.com/knowledge-base/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.vergeos-demo.com/automate-protect-and-extend/integrations-and-apis/powershell-module.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
