A Microsoft cloud service that enables deployment of Azure services across hybrid and multicloud environments.
Hi Gary,
Before going deeper into the guest, I'd fix the one thing that's still unresolved on your side: host attestation is in Error on both nodes, and Enable-AzStackHCIAttestation -AddVM never completed. Your new VM was created through the portal and registered automatically. The migrated VM came in through Azure Migrate, so it never went through that registration. The guest then gets an attestation response it cant trust.
What 0x800B0004 means here: TRUST_E_SUBJECT_NOT_TRUSTED. The certificate chain builds fine and your CAPI2 log shows that, but the signed attestation content isn't trusted for this VM. That points to a stale or missing host-side binding, not to PKI, DNS or proxy.
Step 1 – Fix host attestation (on each node)
Sign in directly on the node (RDP/console, not through WAC) with a domain account that's a local administrator, and open an elevated PowerShell:
Enable-PSRemoting -Force
Test-WSMan localhost # must return a response, not "Access is denied"
Enable-AzStackHCIAttestation -AddVM
Get-AzStackHCIAttestation
Expected: Get-AzStackHCIAttestation shows Connected for the node. Repeat on the second node. If Test-WSMan still fails, fix WinRM first, because the attestation cmdlet depends on it.
Step 2 – Re-register only the affected VM (on the node that owns it)
$vm = "<vm-name>"
Get-VMIntegrationService -VMName $vm -Name "Guest Service Interface" # Enabled = True
Get-AzStackHCIVMAttestation | Where-Object VMName -eq $vm # before
Remove-AzStackHCIVMAttestation -VMName $vm
Add-AzStackHCIVMAttestation -VMName $vm
Get-AzStackHCIVMAttestation | Where-Object VMName -eq $vm # after: Connected
Step 3 – Verify in the guest
$tp = "\Microsoft\Windows\Clip\"; $tn = "LicenseImdsIntegration"
Start-ScheduledTask -TaskPath $tp -TaskName $tn
Start-Sleep 60
Get-ScheduledTaskInfo -TaskPath $tp -TaskName $tn | Select-Object LastRunTime, LastTaskResult
(Get-CimInstance SoftwareLicensingService).AzureMetadataResponse
| Check | Affected VM today | Expected after fix (as on your new VM) |
|---|---|---|
LastTaskResult |
2148204548 (0x800B0004) |
0 |
AzureMetadataResponse |
4294967295 |
1 |
| Settings → Activation | Not active | Active (after sign-out/sign-in) |
If it's still failing: compare the guest with the new VM
& "$env:ProgramFiles\AzureConnectedMachineAgent\azcmagent.exe" show
If the migrated VM still has an Arc agent registered from the old cluster and the new VM doesn't, thats a concrete leftover difference . I'd only look into removing it after steps 1–3, and with the output of both VMs side by side.
I don't know whether an in-place repair is supported for Azure Edition on Azure Local, or which media it would use.