Skip to content

Releases: Grace-Solutions/PSProxmox

PSProxmox v2025.07.03.1046 - .NET Standard 2.0 Dual PowerShell Support

Choose a tag to compare

@freedbygrace freedbygrace released this 03 Jul 14:46

PSProxmox v2025.07.03.1046 - .NET Standard 2.0 Dual PowerShell Support

🚀 Major Compatibility Update

Complete compatibility with both PowerShell 5.1 and PowerShell 7+ through .NET Standard 2.0.

✨ What's New

  • Dual PowerShell Support: Works seamlessly on both PowerShell 5.1 and 7+
  • Cross-Platform Ready: Windows, Linux, macOS compatible
  • Added Missing SMBIOS Cmdlets: Get-ProxmoxVMSMBIOS, Set-ProxmoxVMSMBIOS
  • Enhanced Build System: Automated publish functionality with proper module structure
  • Version Consistency: Binary, release, and file versions all match (2025.07.03.1046)
  • Quality Focus: Single source manifest with proper relative paths
  • Dynamic Versioning: Automatically generated version based on build time

📦 Installation

Install-Module PSProxmox -Force

📝 Full Changelog

  • Updated to .NET Standard 2.0 for dual PowerShell support
  • Fixed module structure with PSProxmox\PSProxmox.psd1 as source of truth
  • Added missing SMBIOS cmdlets to module exports
  • Enhanced build script with automated PowerShell Gallery publishing
  • Dynamic version generation according to yyyy.MM.dd.HHmm spec
  • Only latest version kept in Module and Release directories
  • Improved error handling and cleanup processes

PSProxmox v2025.07.03.1038

Choose a tag to compare

@freedbygrace freedbygrace released this 03 Jul 14:38

Major Compatibility Update

Complete compatibility with both PowerShell 5.1 and PowerShell 7+ through .NET Standard 2.0.

What's New

  • Dual PowerShell Support: Works seamlessly on both PowerShell 5.1 and 7+
  • Cross-Platform Ready: Windows, Linux, macOS compatible
  • Added Missing SMBIOS Cmdlets: Get-ProxmoxVMSMBIOS, Set-ProxmoxVMSMBIOS
  • Added Missing Cmdlets: New-ProxmoxVMBuilder
  • Enhanced Build System: Automated publish functionality with proper module structure
  • Version Consistency: Binary, release, and file versions all match (2025.07.03.1038)
  • Quality Focus: Single source manifest with proper relative paths
  • Dynamic Versioning: Automatically generated version based on build time

Installation

Install-Module PSProxmox -Force

Full Changelog

  • Updated to .NET Standard 2.0 for dual PowerShell support
  • Fixed module structure with PSProxmox\PSProxmox.psd1 as source of truth
  • Added missing SMBIOS cmdlets to module exports
  • Enhanced build script with automated PowerShell Gallery publishing
  • Dynamic version generation according to yyyy.MM.dd.HHmm spec
  • Only latest version kept in Module and Release directories
  • Improved error handling and cleanup processes

PSProxmox v2025.05.30.2323 - Performance Optimization with -IncludeGuestAgent Parameter

Choose a tag to compare

@freedbygrace freedbygrace released this 31 May 03:25

PSProxmox v2025.05.30.2323 Release Notes

Major Improvements

⚡ Performance Optimization

  • Added -IncludeGuestAgent parameter to Get-ProxmoxVM cmdlet for optional guest agent data retrieval
  • Significant performance improvement for normal VM queries (guest agent data no longer fetched by default)
  • Flexible querying: Choose between fast queries or detailed guest agent information as needed
  • Backward compatibility: Existing scripts work unchanged but run faster

🎉 VM Guest Agent Support

  • Enhanced Get-ProxmoxVM cmdlet with comprehensive guest agent data retrieval (when requested)
  • New ProxmoxVMGuestAgent model with detailed network interface information
  • IPv4 and IPv6 address arrays for each network interface detected by guest agent
  • Guest agent status checking with robust error handling for VMs without guest agent
  • Complete VM network visibility from within the guest operating system

🔧 Complete Codebase Stabilization

  • Fixed ALL 41 compilation errors (100% success rate) that were present in the codebase
  • Eliminated ALL compilation warnings for completely clean builds
  • Standardized API patterns across all cmdlets for consistency and reliability
  • Enhanced type safety throughout the entire codebase
  • Modern C# best practices applied consistently
  • Clean binary module structure with proper packaging

🚀 Enhanced Reliability

  • Robust error handling for guest agent operations
  • Improved API client usage with proper parameter handling
  • Better JSON processing with strongly-typed objects instead of dynamic types
  • Consistent parameter validation across all cmdlets

Usage Examples

⚡ Performance Optimization Examples

# Connect to Proxmox
Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)

# Fast queries (default behavior - NEW!)
$vms = Get-ProxmoxVM                    # Fast - no guest agent data
$vm = Get-ProxmoxVM -VMID 100          # Fast - no guest agent data

# Detailed queries (when you need guest agent info)
$vm = Get-ProxmoxVM -VMID 100 -IncludeGuestAgent    # Detailed - with guest agent

# Performance comparison
Measure-Command { $fast = Get-ProxmoxVM }                          # Fast
Measure-Command { $detailed = Get-ProxmoxVM -IncludeGuestAgent }   # Slower but detailed

🔍 VM Guest Agent Information

# Get VM with guest agent information (use -IncludeGuestAgent)
$vm = Get-ProxmoxVM -VMID 100 -IncludeGuestAgent

# Access guest agent data
if ($vm.GuestAgent -and $vm.GuestAgent.Status -eq "running") {
    Write-Host "Guest Agent is running"

    # Display network interfaces from guest agent
    foreach ($interface in $vm.GuestAgent.NetIf) {
        Write-Host "Interface: $($interface.Name)"
        Write-Host "  IPv4 Addresses: $($interface.IPv4Addresses -join ', ')"
        Write-Host "  IPv6 Addresses: $($interface.IPv6Addresses -join ', ')"
        Write-Host "  MAC Address: $($interface.MacAddress)"
    }
} else {
    Write-Host "Guest Agent not available or not running"
}

# Get all VMs with guest agent information
$vmsWithGuestAgent = Get-ProxmoxVM -IncludeGuestAgent | Where-Object {
    $_.GuestAgent -and $_.GuestAgent.Status -eq "running"
}

🔧 Clean Build and Development

# The module now builds completely clean with no errors or warnings
dotnet build PSProxmox\PSProxmox.csproj
# Build succeeded with 0 error(s) and 0 warning(s)

Installation

  1. Download the ZIP file
  2. Extract the contents to a directory in your PowerShell module path
  3. Import the module using Import-Module PSProxmox

Requirements

  • PowerShell 5.1 or later
  • Windows PowerShell or PowerShell Core

PSProxmox v2025.05.30.1740 - VM Guest Agent Support & Complete Codebase Stabilization

Choose a tag to compare

@freedbygrace freedbygrace released this 30 May 21:46

PSProxmox v2025.05.30.1740 Release Notes

Major Improvements

🎉 VM Guest Agent Support

  • Enhanced Get-ProxmoxVM cmdlet with comprehensive guest agent data retrieval
  • New ProxmoxVMGuestAgent model with detailed network interface information
  • IPv4 and IPv6 address arrays for each network interface detected by guest agent
  • Guest agent status checking with robust error handling for VMs without guest agent
  • Complete VM network visibility from within the guest operating system

🔧 Complete Codebase Stabilization

  • Fixed ALL 41 compilation errors (100% success rate) that were present in the codebase
  • Eliminated ALL compilation warnings for completely clean builds
  • Standardized API patterns across all cmdlets for consistency and reliability
  • Enhanced type safety throughout the entire codebase
  • Modern C# best practices applied consistently

🚀 Enhanced Reliability

  • Robust error handling for guest agent operations
  • Improved API client usage with proper parameter handling
  • Better JSON processing with strongly-typed objects instead of dynamic types
  • Consistent parameter validation across all cmdlets

Usage Examples

🔍 VM Guest Agent Information

# Connect to Proxmox
Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)

# Get VM with guest agent information
$vm = Get-ProxmoxVM -VMID 100

# Access guest agent data
if ($vm.GuestAgent -and $vm.GuestAgent.Status -eq "running") {
    Write-Host "Guest Agent is running"

    # Display network interfaces from guest agent
    foreach ($interface in $vm.GuestAgent.NetIf) {
        Write-Host "Interface: $($interface.Name)"
        Write-Host "  IPv4 Addresses: $($interface.IPv4Addresses -join ', ')"
        Write-Host "  IPv6 Addresses: $($interface.IPv6Addresses -join ', ')"
        Write-Host "  MAC Address: $($interface.MacAddress)"
    }
} else {
    Write-Host "Guest Agent not available or not running"
}

# Get all VMs and filter by those with guest agent
$vmsWithGuestAgent = Get-ProxmoxVM | Where-Object {
    $_.GuestAgent -and $_.GuestAgent.Status -eq "running"
}

🔧 Clean Build and Development

# The module now builds completely clean with no errors or warnings
dotnet build PSProxmox\PSProxmox.csproj
# Build succeeded with 0 error(s) and 0 warning(s)

Installation

  1. Download the ZIP file
  2. Extract the contents to a directory in your PowerShell module path
  3. Import the module using Import-Module PSProxmox

Requirements

  • PowerShell 5.1 or later
  • Windows PowerShell or PowerShell Core

v2025.05.11.1030

Choose a tag to compare

@freedbygrace freedbygrace released this 11 May 19:01

Added LXC container and TurnKey template support. Fixed cloud image functionality and added pipeline support.

This release includes:

  1. LXC Container Management:

    • Get-ProxmoxContainer: List all LXC containers or get details for a specific container (supports wildcards and regex)
    • New-ProxmoxContainer: Create a new LXC container
    • New-ProxmoxContainerBuilder: Create a builder for configuring container parameters
    • Remove-ProxmoxContainer: Delete an LXC container
    • Start-ProxmoxContainer: Start an LXC container
    • Stop-ProxmoxContainer: Stop an LXC container
    • Restart-ProxmoxContainer: Restart an LXC container
  2. TurnKey Template Management:

    • Get-ProxmoxTurnKeyTemplate: List available TurnKey templates (supports wildcards and regex)
    • Save-ProxmoxTurnKeyTemplate: Download a TurnKey template to a Proxmox storage
    • New-ProxmoxContainerFromTurnKey: Create a new LXC container from a TurnKey template
  3. Cloud Image Improvements:

    • Fixed async/await issues in CloudImageRepository
    • Added pipeline support for Get-ProxmoxCloudImage | Save-ProxmoxCloudImage
    • Improved parameter handling and documentation