Inventory stale adapters
Discover Windows VMs across the selected groups, skip offline or excluded targets, then compare active PnP evidence with PCI and VMBUS registry entries.
Azure Automation / Windows VM maintenance
Ghost(NIC)Hunter deploys to your Azure subscription, discovers Windows VMs across selected resource groups, and checks for stale network adapters left behind after Accelerated Networking host changes.
Daily detection is the default. The deployment includes Log Analytics and a workbook for current, cumulative, and live power-state reporting; removal still requires an explicit operation and confirmation.
Problem match
If Windows Device Manager shows extra, grayed-out, or hidden adapters after Stop (Deallocate), redeployment, reallocation, or host migration, the VM may have stale guest devices associated with Accelerated Networking.
Common clues include scripts enumerating more NICs than expected, stale IP configuration, or unexplained connectivity, update, performance, or activation problems.
Maintenance sequence
Ghost(NIC)Hunter follows the same check-before-remove posture Microsoft documents, wrapped in a reusable Azure Automation deployment.
Discover Windows VMs across the selected groups, skip offline or excluded targets, then compare active PnP evidence with PCI and VMBUS registry entries.
Every target emits a structured result with power state, outcome, valid, ghosted, and removed counts for Automation and Log Analytics history.
Cleanup requires Operation=Remove and ConfirmRemoval=true, then retries active-adapter validation before reporting the final outcome.
Automation variable encryption
New deployments create seven Ghost(NIC)Hunter Automation variables in one selected storage mode. Encrypt Automation Variables is enabled by default: values remain available to the runbooks and the validated configuration workflow, but are not readable in the Azure portal or by external PowerShell.
Choose portal-readable variables only when operators need that visibility and the applicable policy permits unencrypted Automation variables. Azure fixes the mode when each variable is created, so redeploying cannot convert an existing installation in place.
Included Azure Monitor workbook
The portal deployment creates a dedicated Log Analytics workspace, forwards Automation job streams, and installs the Ghost NIC Hunter workbook automatically. CLI deployments may instead supply an existing workspace.
Why ghost NICs appear
Microsoft documents ghost NICs after VM deallocation/reallocation, redeployment, or host migration. The old hardware-backed adapter can remain hidden in Windows and interfere with connectivity, updates, automation, performance, or activation.
Azure ghost NIC FAQ
With Accelerated Networking, deallocation and reallocation can move a VM to different hardware. The old hardware-backed adapter can remain as a hidden device in Windows, creating a ghost NIC alongside the active adapter.
No. Azure supports intentional multi-NIC VM designs and multiple IP configurations. Ghost(NIC)Hunter targets stale, disconnected guest devices, so compare the Azure VM network profile with Windows device evidence before cleanup.
Run Ghost(NIC)Hunter in its default detection mode, review the structured evidence, and confirm a recovery point. Removal requires both Operation=Remove and ConfirmRemoval=true.
No. It does not automatically restart, snapshot, deallocate, or reconfigure the VM or its Azure network resources.
Yes. Enter one or more resource-group IDs during deployment. Ghost(NIC)Hunter discovers Windows VMs in those groups and schedules detection every day at 12:30 PM Pacific time.
The runbook refreshes power state before issuing Run Command. A VM that is not running is recorded as OfflineSkipped, and no guest command is sent.
Yes. New deployments encrypt all seven variables by default. Choose portal-readable variables only when policy allows it and that visibility is required. Azure fixes the storage mode at creation, so an existing installation follows the documented migration path instead of switching in place.
Deploy
Authenticate to the target tenant, choose the deployment resource group, and enter one target resource-group ID or multiple IDs separated by commas. The wizard generates the account and workspace names, deploys observability, and creates the daily detection schedule. It does not run removal.