Bulk onboarding Windows Servers to Azure Arc with no on-prem AD and no existing management agent

Christopher Souflis 0 Reputation points
2026-08-17T23:05:42.03+00:00

I'm onboarding several dozen Windows Server VMs to Azure Arc. They run on Hyper-V hosts across two on-premises datacenters, and several are outdated versions below 2025.

This is a cloud-native identity environment — Microsoft Entra ID with no on-premises Active Directory — so the Group Policy onboarding method doesn't apply.

The service principal onboarding script is well documented and works when run on an individual machine. What I'm unclear on is execution at scale: with no management agent already deployed across the estate, what's the recommended way to run that script across many machines? And is there any way to upgrade multiple VMs OS easily?

Specifically:

  1. Is there a recommended pattern for bulk onboarding where there's no pre-existing agent and no domain to push through?
  2. When a Hyper-V host is Arc-enabled, are its guest VMs onboarded automatically, or does each guest enroll separately?
  3. Application allowlisting is in use on these hosts. Is there a published list of executables or paths the Connected Machine Agent requires?
Azure Arc
Azure Arc

A Microsoft cloud service that enables deployment of Azure services across hybrid and multicloud environments.

0 comments No comments

1 answer

Sort by: Oldest
  1. Marcin Policht 108.3K Reputation points MVP Volunteer Moderator
    2026-08-18T00:02:11.7266667+00:00

    For scaling Azure Arc onboarding without a domain or pre-existing management agent use an orchestration mechanism such as Ansible or PowerShell Remoting from a secure administrative jumpbox. Maintain a CSV containing the target VM hostnames or IP addresses and have a PowerShell script use Invoke-Command or another WinRM-based remoting method to execute the Azure Arc onboarding script on each server. The onboarding script can use a pre-created Microsoft Entra service principal assigned the Azure Connected Machine Onboarding role. The jumpbox needs appropriate network connectivity to the VMs and the required outbound connectivity to Azure, including any proxy configuration used by the servers.

    Enabling Azure Arc on a Hyper-V host does not automatically onboard its guest VMs. Each guest is an independent Windows machine from Azure Arc's perspective and must have the Azure Connected Machine Agent installed and registered separately. Automatic discovery and onboarding of VMs is associated with Azure Local/Azure Stack HCI scenarios using the appropriate Azure infrastructure, not ordinary standalone Hyper-V hosts. Therefore, for conventional on-premises Hyper-V, your bulk process needs to execute the Arc agent installation and registration inside every guest VM.

    For application allowlisting, the Azure Connected Machine Agent uses several directories and executables that need to be permitted by the application-control policy. The primary installation location is %ProgramFiles%\AzureConnectedMachineAgent\, which contains components such as azcmagent.exe, himds.exe, and GCArcService.exe. The agent also uses %ProgramData%\AzureConnectedMachineAgent\ and %ProgramData%\GuestConfig\. Your allowlisting policy should therefore account for the agent's required executables, services, child processes, and supporting directories rather than allowing only the initial onboarding script. At a minimum, the core agent components such as azcmagent.exe, himds.exe, ExtensionService.exe, and GCArcService.exe need to be considered when constructing the policy. Because the exact files can change between agent versions, it is preferable to base the production allowlist on Microsoft's current Connected Machine Agent prerequisites and your application's specific control mechanism rather than relying on a permanently hard-coded list.

    For the older Windows Server VMs, there is no native Azure Arc feature that performs directly an in-place OS upgrade across arbitrary on-premises Hyper-V guests. Once the servers are Arc-enabled, Azure management capabilities can help with patching and management, but a major Windows Server version upgrade is a separate operating-system deployment task. At scale, the practical approach is to use an existing configuration-management/orchestration mechanism to stage the installation media and automate the supported in-place upgrade where the source and target Windows Server versions support that upgrade path. Before doing this across dozens of VMs, each server should be assessed for its current Windows Server version/edition, application compatibility, disk space, boot configuration, and whether an in-place upgrade is actually supported.


    If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.

    hth

    Marcin

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.