| title | Azure Migrate Collector virtual machine extension reference |
|---|---|
| description | Technical reference for the Azure Migrate Collector VM extension including settings schema, endpoints, and configuration options. |
| author | snehithm |
| ms.author | snmuvva |
| ms.service | azure-migrate |
| ms.topic | reference |
| ms.date | 10/23/2025 |
| ms.custom | engagement-fy25 |
| monikerRange | migrate |
This article provides technical reference information for the Azure Migrate Collector Virtual Machine (VM) extension used with Arc-enabled servers.
The Azure Migrate Collector VM extension is an optional component that collects additional data from Arc-enabled servers to enhance Azure Migrate assessments and business case recommendations. The extension is available for both Windows and Linux operating systems.
| Property | Value |
|---|---|
| Publisher | Microsoft.Azure.Migrate |
| Type | AzureMigrateCollectorForWindows |
| Supported OS | All Windows operating systems supported by Arc-enabled Servers |
| Property | Value |
|---|---|
| Publisher | Microsoft.Azure.Migrate |
| Type | AzureMigrateCollectorForLinux |
| Supported OS | All Linux operating systems supported by Arc-enabled Servers |
The extension requires configuration through the settings parameter:
{
"migrateProjects": [
{
"id": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Migrate/migrateProjects/{project-name}",
"location": "{project-region}"
}
]
}| Parameter | Type | Required | Description |
|---|---|---|---|
migrateProjects |
Array | Yes | Array of Azure Migrate project configurations |
migrateProjects[].id |
String | Yes | Full Azure Resource Manager ID of the Azure Migrate project |
migrateProjects[].location |
String | Yes | Azure region where the Azure Migrate project is located |
Single project:
{
"migrateProjects": [
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MigrateRG/providers/Microsoft.Migrate/migrateProjects/MyMigrateProject",
"location": "eastus"
}
]
}Multiple projects:
{
"migrateProjects": [
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MigrateRG/providers/Microsoft.Migrate/migrateProjects/Project1",
"location": "eastus"
},
{
"id": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/MigrateRG2/providers/Microsoft.Migrate/migrateProjects/Project2",
"location": "westeurope"
}
]
}The Azure Migrate Collector VM extension communicates with Azure Migrate services using Azure Migrate endpoints. Ensure the following URL is accessible from your Arc-enabled servers.
https://*.migration.windowsazure.com
- Protocol: HTTPS (Transport Layer Security (TLS) 1.2 or higher)
- Port: 443
- Direction: Outbound from Arc-enabled server
- Proxy support: Honors Arc-enabled server proxy configuration
az connectedmachine extension create \
--resource-group "{resource-group}" \
--machine-name "{machine-name}" \
--location "{location}" \
--name "AzureMigrateCollectorForWindows" \
--publisher "Microsoft.Azure.Migrate" \
--type "AzureMigrateCollectorForWindows" \
--settings '{"migrateProjects":[{"id":"/subscriptions/{subscription-id}/resourceGroups/{migrate-rg}/providers/Microsoft.Migrate/migrateProjects/{project-name}","location":"{project-region}"}]}'
az connectedmachine extension create \
--resource-group "{resource-group}" \
--machine-name "{machine-name}" \
--location "{location}" \
--name "AzureMigrateCollectorForLinux" \
--publisher "Microsoft.Azure.Migrate" \
--type "AzureMigrateCollectorForLinux" \
--settings '{"migrateProjects":[{"id":"/subscriptions/{subscription-id}/resourceGroups/{migrate-rg}/providers/Microsoft.Migrate/migrateProjects/{project-name}","location":"{project-region}"}]}'
New-AzConnectedMachineExtension `
-ResourceGroupName "{resource-group}" `
-MachineName "{machine-name}" `
-Location "{location}" `
-Name "AzureMigrateCollectorForWindows" `
-Publisher "Microsoft.Azure.Migrate" `
-ExtensionType "AzureMigrateCollectorForWindows" `
-Settings @{"migrateProjects" = @(@{"id"="/subscriptions/{subscription-id}/resourceGroups/{migrate-rg}/providers/Microsoft.Migrate/migrateProjects/{project-name}";"location"="{project-region}"})}
New-AzConnectedMachineExtension `
-ResourceGroupName "{resource-group}" `
-MachineName "{machine-name}" `
-Location "{location}" `
-Name "AzureMigrateCollectorForLinux" `
-Publisher "Microsoft.Azure.Migrate" `
-ExtensionType "AzureMigrateCollectorForLinux" `
-Settings @{"migrateProjects" = @(@{"id"="/subscriptions/{subscription-id}/resourceGroups/{migrate-rg}/providers/Microsoft.Migrate/migrateProjects/{project-name}";"location"="{project-region}"})}
- Hybrid Server Resource Administrator role on the Arc-enabled server resource
The extension uses the Arc-enabled server's managed identity to authenticate with Azure Migrate. No other permissions are required on the Azure Migrate project; the project automatically accepts data from Arc-enabled servers within its configured scope.
Azure portal:
- Navigate to the Arc-enabled server
- Select Extensions under Settings
- Check the status of the Azure Migrate Collector extension
Azure CLI:
az connectedmachine extension show \
--resource-group "{resource-group}" \
--machine-name "{machine-name}" \
--name "AzureMigrateCollectorForWindows"
| Status | Description |
|---|---|
| Succeeded | Extension installed and running successfully |
| Failed | Extension installation or operation failed |
| Creating | Extension installation in progress |
| Updating | Extension update in progress |
| Deleting | Extension removal in progress |
Windows:
- Extension logs:
C:\ProgramData\GuestConfig\extension_logs\Microsoft.Azure.Migrate.AzureMigrateCollectorForWindows\ - Agent logs:
C:\ProgramData\AzureConnectedMachineAgent\Log\
Linux:
- Extension logs:
/var/lib/GuestConfig/extension_logs/Microsoft.Azure.Migrate.AzureMigrateCollectorForLinux/ - Agent logs:
/var/opt/azcmagent/log/
| Issue | Possible cause | Resolution |
|---|---|---|
| Extension installation fails | Insufficient permissions | Verify you have Hybrid Server Resource Administrator role |
| Extension shows Failed status | Network connectivity issue | Verify connectivity to regional endpoint |
| Extension installed but data not appearing in project | Project configuration incorrect | Verify project ID and region in extension settings |
The extension support automatic upgrades to the latest minor version. To manually trigger an update:
az connectedmachine extension update \
--resource-group "{resource-group}" \
--machine-name "{machine-name}" \
--name "AzureMigrateCollectorForWindows"
az connectedmachine extension delete \
--resource-group "{resource-group}" \
--machine-name "{machine-name}" \
--name "AzureMigrateCollectorForWindows"