diff --git a/src/PSProxmoxVE.Core/Services/VmService.cs b/src/PSProxmoxVE.Core/Services/VmService.cs index ff6a47e..2f4aae0 100644 --- a/src/PSProxmoxVE.Core/Services/VmService.cs +++ b/src/PSProxmoxVE.Core/Services/VmService.cs @@ -550,8 +550,9 @@ namespace PSProxmoxVE.Core.Services client.PostAsync($"nodes/{Uri.EscapeDataString(node)}/qemu/{vmid}/agent/ping").GetAwaiter().GetResult(); return true; } - catch + catch (PSProxmoxVE.Core.Exceptions.PveApiException) { + // Treat API-level failures for this endpoint as "guest agent not responding". return false; } finally diff --git a/src/PSProxmoxVE/Cmdlets/Vms/ImportPveOvaCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Vms/ImportPveOvaCmdlet.cs index a834c66..1766a9c 100644 --- a/src/PSProxmoxVE/Cmdlets/Vms/ImportPveOvaCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Vms/ImportPveOvaCmdlet.cs @@ -2,8 +2,10 @@ using System; using System.Collections.Generic; using System.IO; using System.Management.Automation; +using System.Net; using Newtonsoft.Json.Linq; using PSProxmoxVE.Core.Client; +using PSProxmoxVE.Core.Exceptions; using PSProxmoxVE.Core.Models.Vms; using PSProxmoxVE.Core.Services; @@ -274,9 +276,10 @@ namespace PSProxmoxVE.Cmdlets.Vms var vm = vmService.GetVm(session, Node, vmId); WriteObject(vm); } - catch + catch (PveApiException ex) when (ex.StatusCode == HttpStatusCode.NotFound) { - // If the VM isn't queryable yet (e.g. disk import still running), return basic info + // VM not yet queryable (e.g. disk import still in progress); return basic info + WriteVerbose($"VM retrieval failed, returning basic info: {ex.Message}"); WriteObject(new PveVm { VmId = vmId, diff --git a/src/PSProxmoxVE/PSProxmoxVE.format.ps1xml b/src/PSProxmoxVE/PSProxmoxVE.format.ps1xml index 39d60c8..9cbb8a5 100644 --- a/src/PSProxmoxVE/PSProxmoxVE.format.ps1xml +++ b/src/PSProxmoxVE/PSProxmoxVE.format.ps1xml @@ -1356,5 +1356,64 @@ + + + + PSProxmoxVE.Core.Authentication.PveSession + + PSProxmoxVE.Core.Authentication.PveSession + + + + + + 25 + Left + + + + 6 + Right + + + + 10 + Left + + + + 8 + Left + + + + 15 + Left + + + + + + + Hostname + + + Port + + + AuthMode + + + if ($_.IsExpired) { 'Yes' } else { 'No' } + + + if ($_.ServerVersion) { $_.ServerVersion.ToString() } else { 'Unknown' } + + + + + + +