mirror of
https://github.com/Grace-Solutions/PSProxmox.git
synced 2026-07-26 08:18:19 +00:00
d9bd620168
- Added optional -IncludeGuestAgent parameter to Get-ProxmoxVM cmdlet - Guest agent data retrieval is now optional for improved query performance - Default behavior: Fast queries without guest agent data - Use -IncludeGuestAgent switch when detailed network information is needed - Significant performance improvement for normal VM queries - Updated all documentation and examples to use new parameter - Fixed binary module structure by removing unnecessary PSD1 from bin folder - Version bump to 2025.05.30.2323 BREAKING CHANGE: Get-ProxmoxVM no longer fetches guest agent data by default. Existing scripts that rely on guest agent data must add -IncludeGuestAgent parameter.
3.7 KiB
3.7 KiB
PSProxmox v2025.05.30.2323 Release Notes
Major Improvements
⚡ Performance Optimization
- Added
-IncludeGuestAgentparameter 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
- Download the ZIP file
- Extract the contents to a directory in your PowerShell module path
- Import the module using
Import-Module PSProxmox
Requirements
- PowerShell 5.1 or later
- Windows PowerShell or PowerShell Core