Files
PSProxmox/Documentation
AX-AMote 33898b7b80 feat: Add VM Guest Agent support and fix all compilation errors
- Added comprehensive VM Guest Agent support with network interface information
- Enhanced Get-ProxmoxVM cmdlet to retrieve guest agent data automatically
- Added ProxmoxVMGuestAgent model with IPv4/IPv6 address arrays
- Fixed all 41 pre-existing compilation errors (100% success rate)
- Eliminated all compilation warnings for clean builds
- Standardized API patterns across all cmdlets
- Enhanced error handling and type safety throughout codebase
- Updated documentation with guest agent examples
- Added comprehensive guest agent example script
- Updated README with guest agent usage examples
- Version bump to 2025.05.30.1740
2025-05-30 17:46:20 -04:00
..

PSProxmox Documentation

PSProxmox is a C#-based PowerShell module for managing Proxmox VE clusters. It provides a comprehensive set of cmdlets for interacting with Proxmox VE API, featuring structured return objects, mass deployment tools, automatic IP management, and more.

Project Structure

  • Module/: Contains the PowerShell module files
  • PSProxmox/: Contains the C# source code for the module
  • Documentation/: Contains detailed documentation and examples
  • Scripts/: Contains build and installation scripts
  • Release/: Contains built releases (created by build script)

Features

  • Session Management: Authenticate and persist sessions with Proxmox VE clusters
  • Core CRUD Operations: Manage VMs, Storage, Network, Users, Roles, SDN, and Clusters
  • Templates: Create and use VM deployment templates
  • Mass Creation: Bulk create VMs with prefix/counter
  • IP Management: CIDR parsing, subnetting, FIFO IP queue assignment
  • Structured Objects: All outputs are typed C# classes (PowerShell-native)
  • Pipeline Support: Cmdlets support pipeline input where appropriate

Getting Started

Documentation

  • Cmdlet Reference - Detailed documentation for all cmdlets
  • Examples - Example scripts for common tasks
  • Guides - Comprehensive guides for various topics

Requirements

  • PowerShell 5.1 or PowerShell 7+
  • .NET Framework 4.7.2 or .NET Core 2.0+

Installation

# Install from PowerShell Gallery
Install-Module -Name PSProxmox -Scope CurrentUser

Manual Installation

# Clone the repository
git clone https://github.com/Grace-Solutions/PSProxmox.git
cd PSProxmox

# Build the module
.\Scripts\build.ps1

# Install the module
.\Scripts\Install-PSProxmox.ps1

Quick Start

# Import the module
Import-Module PSProxmox

# Connect to a Proxmox VE server
$credential = Get-Credential
$connection = Connect-ProxmoxServer -Server "proxmox.example.com" -Credential $credential -Realm "pam"

# Get all VMs
$vms = Get-ProxmoxVM -Connection $connection

# Create a new VM
$vm = New-ProxmoxVM -Connection $connection -Node "pve1" -Name "test-vm" -Memory 2048 -Cores 2 -DiskSize 32 -Start

# Disconnect when done
Disconnect-ProxmoxServer -Connection $connection

Using the Documentation

For detailed documentation on each cmdlet, you can:

  1. Use the built-in PowerShell help:

    Get-Help Connect-ProxmoxServer -Full
    
  2. Browse the Cmdlet Reference for detailed documentation on all cmdlets.

  3. Check the Examples for example scripts for common tasks.

  4. Read the Guides for comprehensive guides on various topics.

Development

Building the Module

To build the module from source:

# Run the build script
.\Scripts\build.ps1

This will:

  1. Compile the C# code
  2. Create a versioned release in the Release folder
  3. Update the Module folder with the latest build
  4. Create a ZIP package for distribution

Project Organization

  • C# Source Code: All C# source code is in the PSProxmox folder
  • PowerShell Module: The PowerShell module files are in the Module folder
  • Documentation: Comprehensive documentation is in the Documentation folder
  • Scripts: Build and installation scripts are in the Scripts folder

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.