Azure Arc Management Tools

Free Utilities for Enterprise Operations with PowerShell Modules

📖 12 min read
🎯 Intermediate
🔧 Tools Guide
💡 7,000+ Downloads

Azure Arc Management Tools

Managing Azure Arc-enabled servers at scale requires efficient tooling. The native azcmagent.exe utility provides local agent management capabilities, but its command syntax and output formats can be cumbersome for daily operations. These free PowerShell modules simplify Arc agent management with consistent command structures and improved user experience.

This guide covers two production-ready PowerShell modules built for enterprise Arc operations:

  • AzureArcConnectedAgentManagement - 15 commands for local agent operations (7,000+ downloads)
  • AzureArcReOnboardingAssistant - Configuration backup and restoration for re-onboarding scenarios
Note: These modules complement Microsoft's Az.ConnectedMachine PowerShell module, which focuses on Azure-side operations. The tools here target local agent management and troubleshooting scenarios.
Need Expert Implementation Support? Our Azure Arc consulting services provide end-to-end deployment assistance, from architecture planning to production operations. Get professional guidance for your Arc implementation.

AzureArcConnectedAgentManagement Module

Built on top of the azcmagent.exe utility, this module wraps native commands with PowerShell-friendly interfaces. Instead of memorizing complex command syntax like azcmagent show --output json --verbose, you use intuitive commands like Get-AzureArcNodeAgentInformation.

Installation

PowerShell - Install Module
Install-Module -Name AzureArcConnectedAgentManagement
PowerShell - List All Commands
Get-Command -Module AzureArcConnectedAgentManagement

Available Commands

The module provides 15 commands organized by function:

Agent Information & Status

Get-AzureArcNodeAgentInformation

Retrieve agent details with JSON or RAW output

PowerShell - Get Agent Information
Get-AzureArcNodeAgentInformation -OutPutType JSON
Get-AzureArcNodeAgentInformation -OutPutType RAW

Get-AzureArcNodeServiceStatus

Check Azure Hybrid Instance Metadata Service status

PowerShell - Check Service Status
Get-AzureArcNodeServiceStatus

Test-AzureArcNodeConnection

Verify current agent connection status

PowerShell - Test Connection
Test-AzureArcNodeConnection

Configuration Management

Get-AzureArcNodeConfiguration

Read agent configuration settings

PowerShell - Get Configuration
Get-AzureArcNodeConfiguration -ConfigurationName extensions.allowlist -OutPutType JSON
Get-AzureArcNodeConfiguration -ConfigurationName extensions.allowlist -OutPutType RAW

Set-AzureArcNodeConfiguration

Configure agent settings like proxy configuration

PowerShell - Set Configuration
Set-AzureArcNodeConfiguration -ConfigurationName proxy.url -ConfigurationValue "http://myproxy:443" -OutPutType JSON

Clear-AzureArcNodeConfiguration

Remove configuration settings

PowerShell - Clear Configuration
Clear-AzureArcNodeConfiguration -ConfigurationName proxy.bypass -OutPutType JSON

Configuration File Access

Get-AzureArcNodeAgentConfigurationFileContent

Read agent configuration from C:\ProgramData\AzureConnectedMachineAgent\Config\agentconfig.json

Get-AzureArcNodeAgentLocalConfigurationFileContent

Read local configuration from C:\ProgramData\AzureConnectedMachineAgent\Config\localconfig.json

Extension Management

Get-AzureArcNodeAgentInstalledExtensions

List installed extensions from C:\ProgramData\GuestConfig\extension_logs

PowerShell - List Extensions
Get-AzureArcNodeAgentInstalledExtensions | Format-Table -AutoSize -Property ExtensionName, ExtensionState, ExtensionVersion

Connection Operations

Connect-AzureArcNode

Connect machine to Azure Arc with three authentication methods:

  • Access Token
  • Service Principal
  • Device Login

Disconnect-AzureArcNode

Disconnect node from Azure Arc service

Network & Troubleshooting

Test-AzureArcNodeNetworkConnectivity

Verify network connectivity requirements

PowerShell - Test Network Connectivity
Test-AzureArcNodeNetworkConnectivity -OutPutType JSON -Location "West Europe"

Save-AzureArcNodeLogs

Export agent logs to desktop for troubleshooting

Service Management

Restart-AzureArcNodeService

Restart Azure Hybrid Instance Metadata Service

Install-AzureArcAgent

Download and install Azure Arc Connected Agent

PowerShell Gallery: Download from PowerShell Gallery - AzureArcConnectedAgentManagement

AzureArcReOnboardingAssistant Module

When Arc extensions become stuck in permanent "Installing" or "Updating" states and normal removal operations fail, re-onboarding becomes necessary. This module automates configuration backup and restoration, preserving tags, data collection rule associations, and endpoint configurations across the re-onboarding process.

The Problem It Solves

Arc agent re-onboarding typically results in loss of:

  • Resource tags (including maintenance window schedules)
  • Data Collection Rule associations
  • Data Collection Endpoint associations
  • Agent configuration settings

Manual restoration of these configurations across multiple servers is error-prone and time-consuming.

How It Works

The assistant creates two backup files during operation:

Master Backup File: [SubscriptionId]_[ServerName]_info_master.json

  • Created once during first run
  • Original untouched backup of server configuration
  • Used to revert to initial saved state

Current Backup File: [SubscriptionId]_[ServerName]_info.json

  • Created or overwritten each run
  • Most recent configuration backup
  • Used for tracking changes over time

Restoration Scope

The module restores:

  • Tags
  • Data Collection Rule Associations
  • Data Collection Endpoint Associations
  • Notes AgentConfigurationConfigMode setting

Installation

PowerShell - Install Module
Install-Module -Name AzureArcReOnboardingAssistant

Usage Examples

Full Offboarding and Re-onboarding Process:

PowerShell - Complete Re-onboarding
Invoke-AzureArcNodeOffboarding -ServerName SERVER1 -ResourceGroupName "MYARCSERVERS" -SubscriptionId "XXXXXXXXX" -OutputLocation "C:\AzureArcServerBackups"

Restore-Only Operation Using Specific Backup:

PowerShell - Restore from Backup
Invoke-AzureArcNodeOffboarding -ServerName SERVER1 -ResourceGroupName "MYARCSERVERS" -SubscriptionId "XXXXX" -RestoreOnly -RestoreFile "C:\AzureArcServerBackups\XXXXXXXX_SERVER1_info_master.json" -OutputLocation "C:\AzureArcServerBackups"
Warning: This tool is for experienced Arc administrators only. Re-onboarding operations remove the Arc object from Azure, deleting all associated configurations. Always verify backups before proceeding.
PowerShell Gallery: Download from PowerShell Gallery - AzureArcReOnboardingAssistant

Additional Resources

These tools complement a comprehensive Arc management strategy:

For advanced Arc automation including tag compliance monitoring, MDE integration, and service principal expiry tracking, explore our Azure Arc solutions catalog.

About the Author

Kaido Järvemets - Microsoft MVP

Kaido Järvemets

Microsoft MVP | Microsoft Hybrid-Cloud Security Expert

With over 15 years of experience in IT, cybersecurity, and Microsoft technologies, Kaido specializes in Microsoft Azure, Microsoft 365, and hybrid-cloud security solutions. As a Microsoft MVP since 2010, he has deep expertise in Configuration Manager, Enterprise Mobility, and Azure Hybrid & Security.

Kaido is a Microsoft Certified Trainer who has been traveling across Europe for the past 12 years, speaking at events including the Microsoft Management Summit and Midwest Management Summit. He founded User Group Estonia and System Center User Group Estonia, building strong communities of Microsoft technology professionals.

🎯 Specializations

Microsoft Security:
  • Microsoft Defender XDR
  • Microsoft Sentinel SIEM & SOAR
  • Microsoft Entra ID (Azure AD)
  • Microsoft Intune
Azure & Hybrid Cloud:
  • Azure Arc Services
  • Azure Log Analytics
  • Azure Automation
  • Hybrid Cloud Management

"I simplify the process and make each change meaningful. It's all about adopting modern solutions that replace archaic ones and make the workplace easier for everyone involved."