mirror of
https://github.com/Grace-Solutions/PSProxmox.git
synced 2026-07-26 08:18:19 +00:00
33898b7b80
- 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
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
From PowerShell Gallery (Recommended)
# 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:
-
Use the built-in PowerShell help:
Get-Help Connect-ProxmoxServer -Full -
Browse the Cmdlet Reference for detailed documentation on all cmdlets.
-
Check the Examples for example scripts for common tasks.
-
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:
- Compile the C# code
- Create a versioned release in the Release folder
- Update the Module folder with the latest build
- 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.