Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This article explains how to collect logs on-demand for Azure Local disconnected operations by using the PowerShell module. You learn how to provide logs for troubleshooting and support when Azure Local operates in disconnected mode.
Important
This feature is currently in PREVIEW. See the Supplemental Terms of Use for Microsoft Azure Previews.
Overview
Log collection helps you diagnose and troubleshoot issues in Azure Local disconnected operations. Use this feature to send logs to Microsoft support. Logs include information about the Azure Local disconnected operations environment, like the management endpoint, integrated runtime, and other components. During log collection, you might see errors because of different environmental or tool limitations.
Important
Before you use on-demand direct log collection, complete the prerequisites and set up observability with the Set-ApplianceObservabilityConfiguration cmdlet. If you skip these steps, you might see an error.
Prerequisites
Before you set up observability for your Azure Local appliance, make sure you:
- Deploy Disconnected Operations for Azure Local (preview)
- Set up observability for diagnostics and support
- Have sufficient disk space for logs:
- For typical log collection: At least 25 GB of free space.
- For larger log bundles, such appliance logs:
- Compressed logs can exceed 25 GB
- Uncompressed logs require more space.
- As a rule, keep at least twice the compressed log size available. For example:
- For a 10 GB compressed log bundle, keep at least 20 GB free.
- For a 25 GB compressed bundle, keep at least 50 GB free.
Note
Upload logs in small batches to reduce processing time and disk usage. Before you start, check your disk space to prevent failures because of low storage.
Workflow
To collect logs on-demand, follow these steps:
- Prerequisites
- Select a log collection method for your connectivity scenario
- Collect logs
- Monitor log collection
- Review logs locally or send them to Microsoft
Set up observability for diagnostics and support
We recommend that you set up observability to get telemetry and logs for your first deployment. This allows Azure Local Disconnected to connect to Azure through Arc registration and use a managed identity to upload logs, metrics, and telemetry from the appliance VM.
Note
Set up observability doesn't apply if you plan to run air-gapped, as telemetry and diagnostics require connectivity.
Here's a list of parameters needed:
- Azure resource group: Create a resource group in Azure for the appliance, such as azure-disconnectedoperations.
- Service Principal Name (SPN): Create an SPN that has
Azure Connected Machine Resource Administratorrights to the resource group. - Service Principal credentials: Get the service principal ID (appId) and secret (password).
- Subscription: Identify your Azure subscription.
- Tenant ID: Identify your tenant ID.
- Azure region: Specify the Azure region (location) for deployment.
- Required resource providers: Register these resource providers in your subscription:
- Microsoft.Compute (for Update Manager and extension upgrades)
- Microsoft.AzureArcData (if you use Arc-enabled SQL)
- Microsoft.HybridConnectivity
- Microsoft.GuestConfiguration
- Microsoft.HybridCompute
- Connectivity: Make sure your appliance can connect to Azure for telemetry and diagnostics.
Follow these steps to set up observability for diagnostics and support:
Sign in to Azure. Use Azure CLI or Azure Cloud Shell, and run this command:
az loginCreate a resource group using the same name you used in DeviceARMResourceURI. Run this command:
az group create -g <ResourceGroupName> -l <AzureRegion>Identify the active cloud. Run this command:
az cloud list -o tableGet the subscription and tenant IDs. Run this command:
az account showCreate a service principal. Replace <SubscriptionID> with your subscription ID, and run this command:
az ad sp create-for-rbac --name "<SPNName>" --role "Azure Connected Machine Resource Administrator" --scopes /subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroupName>Example output:
{ "appId": "<AppId>", "displayName": "<SPNName>", "password": "<RETRACTED>", "tenant": "<RETRACTED>" }Note
Use the appID as the Service Principal ID and password as the Service Principal Secret
Set the observability configuration. Change the values to match your environment details.
$observabilityConfiguration = New-ApplianceObservabilityConfiguration -ResourceGroupName "azure-disconnectedoperations" -TenantId "<TenantID>" -Location "<Location>" -SubscriptionId "<SubscriptionId>" -ServicePrincipalId "<AppId>" -ServicePrincipalSecret ("<Password>"|ConvertTo-SecureString -AsPlainText -Force) Set-ApplianceObservabilityConfiguration -ObservabilityConfiguration $observabilityConfigurationNote
If you want to set up observability as part of a bootstrap deployment, you can pass the
$observabilityConfigurationas a parameter toInstall-Applianceand skipSet-ApplianceObservabilityConfiguration. This simplifies deployment and helps you get logs and telemetry as part of the deployment.Check that observability is configured.
Get-ApplianceObservabilityConfiguration
Supported scenarios
The following on-demand scenarios are supported for log collection:
| Scenario for log collection | How to collect logs |
|---|---|
| Use on-demand direct log collection when an on-premises device with Azure Local disconnected operations connects to Azure and the management endpoint for disconnected operations is accessible. | To collect logs, run the Invoke-ApplianceLogCollection cmdlet. |
| Use on-demand indirect log collection when an on-premises device using Azure Local disconnected operations can't connect to Azure but can still reach the management endpoint for disconnected operations. | Trigger log collection with the Invoke-ApplianceLogCollectionAndSaveToShareFolder cmdlet.After you run the Invoke-ApplianceLogCollectionAndSaveToShareFolder cmdlet, use the Send-DiagnosticData cmdlet to upload the copied logs from the file share to Microsoft. |
| Use on-demand fallback log collection when the management endpoint for disconnected operations isn't accessible or the integrated runtime disconnected operations with Azure Local virtual machine (VM) is down. | Collect logs after you shut down the disconnected operations appliance VM, mount and unlock virtual hard disks (VHDs), and copy logs by using the Copy-DiagnosticData cmdlet from mounted VHDs into a local, user-defined location.Use the Send-DiagnosticData cmdlet to manually send diagnostic data to Microsoft. For more information, see Appliance fallback log collection for disconnected operations. |
For a list of unsupported features in disconnected mode, see Unsupported features in disconnected mode.
Important
Don’t run the Send-DiagnosticData cmdlet on Azure Local host nodes. The Azure Local disconnected operations control plane manages these nodes. Run the cmdlet from a Windows machine with Azure connectivity, such as your laptop or desktop.
Azure Local disconnected when the appliance VM is connected to Azure
When the appliance VM is connected to Azure, you can upload host node logs the same way you do in the Azure Local disconnected scenario. For control plane logs, send them directly by using Invoke-ApplianceLogCollection. You don't need to save them locally.
The following diagram shows the key components for log collection in Azure Local disconnected when the appliance VM is connected to Azure:
Note
For each deployment, the management IP address, management endpoint client certificate, and certificate password are different. Make sure you use the correct values for your deployment.
Before you collect logs in a connected disconnected scenario, make sure you:
Complete each of the Prerequisites.
Install the operations module if it's not installed. Use the
Import-Modulecmdlet and change the path to match your folder structure.Import-Module "<disconnected operations module folder path>\Azure.Local.DisconnectedOperations.psd1" -ForceExample output:
PS C:\Users\administrator.s46r2004\Documents> Import-Module "Q:\AzureLocalVHD\OperationsModule\Azure.Local.DisconnectedOperations.psd1" -Force VERBOSE: [2025-03-26 19:49:12Z][Test-RunningRequirements] PSVersionTable: Name Value ---- ----- PSVersion 5.1.26100.2161 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.26100.2161 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 VERBOSE: See Readme.md for directions on how to use this module.Use Deploy disconnected operations for Azure Local (Preview) for your management endpoint.
- Identify your management endpoint IP address.
- Identify the management client certificate used to authenticate with the Azure Local disconnected operations management endpoint.
- Set up the management endpoint client context. Run this script:
$certPasswordPlainText = "***" $certPassword = ConvertTo-SecureString $certPasswordPlainText -AsPlainText -Force $context = Set-DisconnectedOperationsClientContext -ManagementEndpointClientCertificatePath "<Management Endpoint Client Cert Path>" -ManagementEndpointClientCertificatePassword $certPassword -ManagementEndpointIpAddress "<Management Endpoint IP address>"Collect control plane logs. Run this command on a system that can access the appliance VM (usually the same Hyper-V host):
Invoke-ApplianceLogCollectionThis command gathers logs from the appliance VM and sends them directly to Microsoft support.
Example:
$fromDate = (Get-Date).AddMinutes(-30) $toDate = (Get-Date) $operationId = Invoke-ApplianceLogCollection -FromDate $fromDate -ToDate $toDateExample output:
PS G:\azurelocal\OperationsModule> $fromDate = (Get-Date).AddMinutes(-30) PS G:\azurelocal\OperationsModule> $toDate = (Get-Date) PS G:\azurelocal\OperationsModule> $operationId = Invoke-ApplianceLogCollection -FromDate $fromDate -ToDate $toDate VERBOSE: [2025-11-13 18:33:26Z][Invoke-ApplianceLogCollection] Get health state with URI: https://169.254.53.25:9443/sysconfig/SystemReadiness VERBOSE: [2025-11-13 18:33:26Z][Invoke-ScriptsWithRetry][Invoke-ApplianceLogCollection] Executing 'Get health state ...' with timeout 600 seconds ... VERBOSE: [2025-11-13 18:33:26Z][Invoke-ScriptsWithRetry][Invoke-ApplianceLogCollection] [CHECK][Attempt 0] for task 'Get health state ...' ... VERBOSE: [2025-11-13 18:33:56Z][Invoke-ScriptsWithRetry][Invoke-ApplianceLogCollection] Task 'Get health state ...' succeeded. VERBOSE: [2025-11-13 18:33:56Z][Invoke-ScriptsWithRetry][Invoke-ApplianceLogCollection] Executing 'Get system configuration ...' with timeout 600 seconds ... VERBOSE: [2025-11-13 18:33:56Z][Invoke-ScriptsWithRetry][Invoke-ApplianceLogCollection] [CHECK][Attempt 0] for task 'Get system configuration ...' ... VERBOSE: [2025-11-13 18:34:37Z][Invoke-ScriptsWithRetry][Invoke-ApplianceLogCollection] Task 'Get system configuration ...' succeeded. VERBOSE: [2025-11-13 18:34:37Z][Invoke-ApplianceLogCollection] Trigger log collections with parameters: https://169.254.53.25:9443/logs/logCollectionJob/default and body { "fromDate": "2025-11-13T18:03:08.4868568Z", "toDate": "2025-11-13T18:33:13.7369896Z" } VERBOSE: [2025-11-13 18:34:37Z][Invoke-ScriptsWithRetry][Invoke-ApplianceLogCollection] Executing 'Trigger log collection ...' with timeout 600 seconds ... VERBOSE: [2025-11-13 18:34:37Z][Invoke-ScriptsWithRetry][Invoke-ApplianceLogCollection] [CHECK][Attempt 0] for task 'Trigger log collection ...' ... VERBOSE: [2025-11-13 18:34:37Z][Invoke-ScriptsWithRetry][Invoke-ApplianceLogCollection] Task 'Trigger log collection ...' succeeded. VERBOSE: [2025-11-13 18:34:37Z][Invoke-ApplianceLogCollection] Log collections trigger result: "d5cb5a24-7f35-4fdb-a0a5-f6dbab77a68c"Collect host node logs. On each Azure Local host node, run this command:
Send-DiagnosticData -SaveToPath <shared folder path>This command collects logs specific to the node, including system level and cluster level diagnostics. For more information, see Send-DiagnosticData -SaveToPath.
Upload host node logs by using the standalone observability tool and running the
Send-AzStackHciDiagnosticDatacommand. To learn more about theSend-AzStackHciDiagnosticDatacommand, see Get support for Azure Local deployment issues.
Azure Local disconnected when the appliance VM isn't connected to Azure
In disconnected Azure Local environments, you can collect logs from the control plane (appliance) and host nodes, and then manually upload them with a standalone tool.
The following diagram shows key components for log collection in Azure Local disconnected environments when the appliance VM isn't connected to Azure.
Before you collect logs in a disconnected scenario, make sure you:
Install the operations module if it's not installed. Use the
Import-Modulecmdlet and change the path to match your folder structure.Import-Module "<disconnected operations module folder path>\Azure.Local.DisconnectedOperations.psd1" -ForceExample output:
PS C:\Users\administrator.s46r2004\Documents> Import-Module "Q:\AzureLocalVHD\OperationsModule\Azure.Local.DisconnectedOperations.psd1" -Force VERBOSE: [2025-03-26 19:49:12Z][Test-RunningRequirements] PSVersionTable: Name Value ---- ----- PSVersion 5.1.26100.2161 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.26100.2161 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 VERBOSE: See Readme.md for directions on how to use this module.Use Deploy disconnected operations for Azure Local (Preview) for your management endpoint.
- Identify your management endpoint IP address.
- Identify the management client certificate used to authenticate with the Azure Local disconnected operations management endpoint.
- Set up the management endpoint client context. Run this script:
$certPasswordPlainText = "***" $certPassword = ConvertTo-SecureString $certPasswordPlainText -AsPlainText -Force $context = Set-DisconnectedOperationsClientContext -ManagementEndpointClientCertificatePath "<Management Endpoint Client Cert Path>" -ManagementEndpointClientCertificatePassword $certPassword -ManagementEndpointIpAddress "<Management Endpoint IP address>"Create a share. Run this command:
New-SMBShare -Name `<share-name>` -Path `<path-to-share>` -FullAccess Users -ChangeAccess 'Server Operators'Set up credentials for the share. Replace the placeholder text
<share-name>and<path-to-share>with your own values, then run this command:$user = "<username>" $pass = "<password>" $sec=ConvertTo-SecureString -String $pass -AsPlainText -Force $shareCredential = New-Object System.Management.Automation.PSCredential ($user, $sec)Collect control plane logs. Run this command on a system that can access the appliance VM (usually the same Hyper-V host):
Invoke-ApplianceLogCollectionAndSaveToShareFolderThis command gathers logs from the appliance VM and saves them to the shared folder you specify.
Example:
$fromDate = (Get-Date).AddMinutes(-30) $toDate = (Get-Date) $operationId = Invoke-ApplianceLogCollectionAndSaveToShareFolder -FromDate $fromDate -ToDate $toDate ` -LogOutputShareFolderPath "<File Share Path>" -ShareFolderUsername "<Username>" -ShareFolderPassword (ConvertTo-SecureString "<Share Folder Password>" -AsPlainText -Force)Example output:
PS C:\Users\administrator.s46r2004\Documents> $operationId = Invoke-ApplianceLogCollectionAndSaveToShareFolder -FromDate $fromDate -ToDate $toDate -LogOutputShareFolderPath "\\<IP or Hostname>\<share-name or LogShareName>" -ShareFolderUsername "<Username>" -ShareFolderPassword (ConvertTo-SecureString "<Password>" -AsPlainText -Force) VERBOSE: [2023-04-09 22:34:28Z] [Invoke-ApplianceLogCollectionAndSaveToShareFolder] Trigger log collections with parameters: https://<IP address>/logs/logCollectionIndirectJob VERBOSE: [2023-04-09 22:34:28Z] [Invoke-ScriptsWithRetry] Executing 'Trigger log collection ...' with timeout 600 seconds ... VERBOSE: [2023-04-09 22:34:28Z] [Invoke-ScriptsWithRetry] [CHECK] [Attempt 0] for task 'Trigger log collection ...' ... VERBOSE: [2023-04-09 22:34:28Z] [Invoke-ScriptsWithRetry] Task 'Trigger log collection ...' succeeded. VERBOSE: [2023-04-09 22:34:28Z] [Invoke-ApplianceLogCollectionAndSaveToShareFolder] Log collections trigger result: "<Instance Id>" PS C:\Users\administrator.s46r2004\Documents> $onDemandRequestBody Name Value ---- ----- SaveToPath \\<IP address>\Arc\LogsShare1 FromDate 2025-04-09T21:26:51.8237434+00:00 UserName masd.stbtest.microsoft.com\administrator ToDate 2025-04-10T21:56:50.7453871+00:00 UserPassword <Password>Collect host node logs. On each Azure Local host node, run this command:
Send-DiagnosticData -SaveToPath <shared folder path>This command collects logs specific to the node, including system level and cluster level diagnostics. For more information, see Send-DiagnosticData -SaveToPath.
Upload logs by using the standalone observability tool.
After you save logs from both the appliance and host nodes to a shared location, upload them with the standalone observability tool. There are product specific wrappers around Microsoft.AzureStack.Observability.Standalone.
- For appliance logs: To upload logs from the appliance VM, use the
Send-DiagnosticDatacommand from the Azure Local disconnected operations PowerShell module. - For host node logs: To upload logs from the host node, use the
Send-AzStackHciDiagnosticDatacommand. To learn more about theSend-AzStackHciDiagnosticDatacommand, see Get support for Azure Local deployment issues.
- For appliance logs: To upload logs from the appliance VM, use the
After collection, review the logs locally or upload them to Microsoft with the
Send-DiagnosticDatacmdlet.
Log collection methods
Direct collection (connected to Azure)
When the appliance can connect to Azure and the management endpoint is accessible use the Invoke-ApplianceLogCollection cmdlet.
The cmdlet lets you specify a time range for log collection. Run this cmdlet from a host that has the required PowerShell module imported and that can access the appliance management endpoint.
For more information, see Azure Local disconnected when the appliance VM is connected to Azure.
Indirect collection (disconnected from Azure, endpoint accessible)
When the appliance can’t connect to Azure but can reach the management endpoint use Invoke-ApplianceLogCollectionAndSaveToShareFolder cmdlet. Then upload logs with the Send-DiagnosticData cmdlet.
For more information, see Azure Local disconnected when the appliance VM isn't connected to Azure.
Fallback collection (endpoint not accessible, appliance VM down)
When the management endpoint is unavailable or the appliance VM is offline:
- Shut down the appliance VM, mount and unlock VHDs, copy logs using
Copy-DiagnosticDatacmdlet. - Upload logs manually with
Send-DiagnosticDatacmdlet.
For more information on fallback collection, see Appliance fallback log collection for disconnected operations.
Send-DiagnosticData -SaveToPath (disconnected mode)
The Send-DiagnosticData -SaveToPath cmdlet works in disconnected mode, and is the only supported option to copy logs from Azure Local host nodes. This cmdlet provides detailed diagnostic data to help you troubleshoot issues and is available when the telemetry and diagnostics extension is installed.
This cmdlet:
- Is available when the telemetry and diagnostics extension is installed.
- Provides detailed diagnostic data to help you troubleshoot issues.
Capabilities:
- Collects role-specific and supplementary logs, and optional Software Defined Data Center logs
- Filters logs by role, date range, or log type.
- Runs only on the node where you execute the command, and bypasses observability agents.
- Saves logs locally only when you use the
-SaveToPathparameter. - Supports secure credentials to save logs to a network share.
Send-DiagnosticData
The Send-DiagnosticData cmdlet lets you send logs to Microsoft support through the standalone pipeline.
This cmdlet requires:
- Subscription details: ResourceGroupName, SubscriptionId, TenantId, and RegistrationRegion.
- Credentials: Either through manual sign-in or by providing the appropriate service principal and password.
Review the Set up observability for diagnostics and support section for steps to create the resource group and service principal required to upload logs.
The standalone pipeline:
- Connects your host machine to Azure.
- Targets all logs in a folder you provided.
- Uploads them to Microsoft support.
- If the upload fails, the cmdlet tries up to three times and shows the results when finished.
Note
Run Send-DiagnosticData on a Windows machine connected to the internet.
- You can't run this cmdlet on Azure Local Hosts because they can't use Azure as the Arc control plane when disconnected operations are set up.
- When you run the cmdlet, the machine uses Arc registration to upload data to Microsoft support.
- RegistrationRegion is the same as Location in
ObservabilityConfiguration.
- RegistrationRegion is the same as Location in
Use this method when you can’t collect logs directly from the appliance VM, for example:
- The appliance VM is disconnected from Azure.
- The management endpoint isn’t accessible.
Send-DiagnosticData cmdlet examples
Here are some examples of how to use the Send-DiagnosticData cmdlet.
To import the module, run this command:
Import-Module "<disconnected operations module folder path>" -Force Send-DiagnosticData -ResourceGroupName <String> -SubscriptionId <String> -TenantId <String> [-RegistrationWithDeviceCode] -RegistrationRegion <String> [-Cloud <String>] -DiagnosticLogPath <String> [-ObsRootFolderPath <String>] [-StampId <Guid>] [<CommonParameters>]To sign in manually by using a device code, run this command:
Send-DiagnosticData -ResourceGroupName <String> -SubscriptionId <String> -TenantId <String> [-RegistrationWithDeviceCode] -RegistrationRegion <String> [-Cloud <String>] -DiagnosticLogPath <String> [-ObsRootFolderPath <String>] [-StampId <Guid>] [<CommonParameters>]To use service principal credentials, run this command:
Send-DiagnosticData -ResourceGroupName <String> -SubscriptionId <String> -TenantId <String> -RegistrationWithCredential <PSCredential> -RegistrationRegion <String> [-Cloud <String>] -DiagnosticLogPath <String> [-ObsRootFolderPath <String>] [-StampId <Guid>] [<CommonParameters>]
Monitor log collection
Use these commands to monitor log collection.
Get-ApplianceLogCollectionJobStatus
Check the status of the log collection job with this cmdlet.
Get-ApplianceLogCollectionJobStatus -OperationId $OperationId
Example output:
PS C:\Users\administrator.s46r2004\Documents> Get-ApplianceLogCollectionJobStatus -OperationId $operationId
VERBOSE: [2023-04-09 22:35:29Z] [Invoke-ScriptsWithRetry] Executing 'Get log collection job status ...' with timeout 600 seconds ...
VERBOSE: [2023-04-09 22:35:29Z] [Invoke-ScriptsWithRetry] [CHECK] [Attempt 0] for task 'Get log collection job status ...' ...
VERBOSE: [2023-04-09 22:35:29Z] [Invoke-ScriptsWithRetry] Task 'Get log collection job status ...' succeeded.
StatusRecord
@{Instance Id=<Instance Id>; State=Running; StartTime=0001-01-01T00:00:00; EndTime=0001-01-01T00:00:00}
Get-ApplianceLogCollectionHistory
Get log collection history with this cmdlet. The input parameter FromDate takes DateTime type, and sets the start time for the history search window. If you don't specify the FromDate, the cmdlet searches the last three hours.
Get-ApplianceLogCollectionHistory -FromDate ((Get-Date).AddHours(-5))
Example output:
PS G:\azurelocal\OperationsModule> Get-ApplianceLogCollectionHistory -FromDate ((Get-Date).AddHours(-5))
VERBOSE: [2025-10-17 05:16:14Z][Invoke-ScriptsWithRetry][Get-ApplianceLogCollectionHistory] Executing 'Get log collection job history ...' with timeout 600 seconds ...
VERBOSE: [2025-10-17 05:16:14Z][Invoke-ScriptsWithRetry][Get-ApplianceLogCollectionHistory] [CHECK][Attempt 0] for task 'Get log collection job history ...' ...
VERBOSE: [2025-10-17 05:16:14Z][Invoke-ScriptsWithRetry][Get-ApplianceLogCollectionHistory] Task 'Get log collection job history ...' succeeded.
Name : b4cffa08-6eb8-4700-a29e-6b5f08824c87
OperationId : b4cffa08-6eb8-4700-a29e-6b5f08824c87
CorrelationId : 0436955c-5008-49cb-af54-98b696bcb9bc
State : Succeeded
CollectionTime : 2025-10-17T01:13:00.273+00:00
CollectionEndTime : 2025-10-17T02:07:52.069+00:00
FromDate : 2025-10-17T00:39:40.448+00:00
ToDate : 2025-10-17T01:09:40.453+00:00
Distributed : True
JobType : OnDemand
StorageKind : Azure
Reason : User initiated
Error : @{Code=0}
UploadDetails : @{UploadStartTime=2025-10-17T01:13:00.273+00:00; UploadSizeInMb=6982; UploadNumberOfFiles=710}
Get-ApplianceInstanceConfiguration
Get the appliance instance configuration, including the stamp ID and resource ID (DeviceARMResourceUri), with this cmdlet.
$stampId = (Get-ApplianceInstanceConfiguration).StampId
Example output:
PS G:\azurelocal\> Get-ApplianceInstanceConfiguration
VERBOSE: [2025-08-06 00:00:35Z][Invoke-ScriptsWithRetry][Get-ApplianceInstanceConfiguration] Executing 'Retrieving system configuration ...' with timeout 300 seconds ...
VERBOSE: [2025-08-06 00:00:35Z][Invoke-ScriptsWithRetry][Get-ApplianceInstanceConfiguration] [CHECK][Attempt 0] for task 'Retrieving system configuration ...' ...
VERBOSE: [2025-08-06 00:00:35Z][`ScriptBlock`] Getting system configuration from https://</IP address>:9443/sysconfig/SystemConfiguration
VERBOSE: [2025-08-06 00:00:35Z][Invoke-ScriptsWithRetry][Get-ApplianceInstanceConfiguration] Task 'Retrieving system configuration ...' succeeded.
IsAutomaticUpdatePreparation :
ExternalTimeServers :
IsTelemetryOptOut : False
ExternalDomainSuffix : autonomous.cloud.private
ImageVersion : 7.1064750419.18210
IngressNICPrefixLength : 24
DeviceARMResourceUri : /subscriptions/<Subcription ID>/resourceGroups/<Resource group>/providers/Microsoft.Edge/winfields/7dfd0b
ConnectionIntent : Connected
StampId : <Stamp ID>
IngressNICIPAddress : 10.0.50.4
DnsForwarderIpAddress : 10.10.240.23
IngressNICDefaultGateway : 10.0.50.1
Security considerations
When you collect diagnostic logs in air-gapped environments, you should understand the security and privacy protections built into this process. The following considerations help ensure that your diagnostic data remains secure while still providing Microsoft with the information needed for effective support.
- In air-gapped environments, use this method to get and give diagnostic logs to Microsoft.
- Logs aren't automatically sent unless you clearly set them to be sent.
- Logs can be saved locally and reviewed before sharing.
- Logs can contain sensitive operational metadata, but they don't include personal data by default.
- Microsoft doesn't keep access to logs unless customers directly share them.
If your organization blocks the affected node from connecting directly to the internet, follow these steps:
- To store logs locally, use the
-SaveToPathoption. - Move the logs to a separate VM or system that can connect to the internet.
- To upload logs to Microsoft through secure support channels, use that system.
Common issues
Account format for indirect collection:
- Use Domain\Username when running
Invoke-ApplianceLogCollectionAndSaveToShareFolder. - If you omit the domain or use an incorrect username, the copy operation to the share fails with an access-denied error.
- Use Domain\Username when running
Send-DiagnosticData execution:
- Must be run on a Windows machine that has direct internet access to Azure.
- Do not run on Arc-enabled systems or the appliance acting as the Arc control plane.
Copy-DiagnosicData execution:
- Must be run on the Hyper-V host that hosts your Azure Local disconnected VM.
Role requirements:
- The roles required vary by scenario.
- To determine the appropriate roles, use the
get-helpcmdlet or work with your support contact.
Improper execution of commands:
- Log collection fails if commands run from:
- Nodes that aren't part of the Azure Local host infrastructure.
- External machines (for example, personal laptops) that don't host the required appliance VMs on the same Hyper-V host.
- Log collection fails if commands run from:
Observability tool usage:
- Run the standalone observability tool on Windows Server.
- Unsupported environments require extra manual setup.
Unsupported features in disconnected mode
These features are unsupported in disconnected mode.
- Remote support.
- Portal-based log collection.
- Metrics and telemetry streaming.
Related content
- Learn how and when to Use appliance fallback log collection.
This feature is available only in Azure Local 2506.