> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reset a Failed Circuit

> How to reset and reapply configuration of a failed Azure ExpressRoute circuit using Az PowerShell to resolve provisioning state issues without recreating the resource

This guide shows how to reset a failed or unknown Azure ExpressRoute circuit by reapplying its configuration with Azure PowerShell. Reapplying the circuit configuration can often resolve transient provisioning or state inconsistencies without recreating the resource.

ExpressRoute reference: [https://learn.microsoft.com/azure/expressroute/expressroute-introduction](https://learn.microsoft.com/azure/expressroute/expressroute-introduction)

<Callout icon="lightbulb" color="#1CB2FE">
  Prerequisites: install and import the Az PowerShell module if you haven't already. Use `Install-Module -Name Az -Scope CurrentUser` to install and `Import-Module Az` to load it. For installation details, see [https://learn.microsoft.com/powershell/azure/install-az-ps](https://learn.microsoft.com/powershell/azure/install-az-ps).
</Callout>

## When to use this procedure

* The circuit shows `Failed`, `Unknown`, or an unexpected `ProvisioningState`.
* You suspect a transient provisioning issue between Azure and the service provider.
* You want to reapply the existing ExpressRoute configuration without deleting the circuit.

## High-level steps

1. Authenticate to Azure and set the target subscription.
2. Retrieve the ExpressRoute circuit into a variable and inspect its key properties.
3. Reapply the circuit configuration using `Set-AzExpressRouteCircuit`.
4. Verify the circuit’s provisioning and provider provisioning states.

## PowerShell example

Use the sequence below to sign in, capture the circuit, reapply its configuration, and confirm the result.

```powershell theme={null}
# 1. Sign in and select subscription
Connect-AzAccount
Get-AzSubscription
Select-AzSubscription -SubscriptionName "LAB-01"

# 2. Retrieve the circuit into a variable and inspect key properties
$erCircuit = Get-AzExpressRouteCircuit `
    -Name "Lab-ER-Circuit" `
    -ResourceGroupName "Lab-RG"

# Display important properties to verify current state
$erCircuit | Select-Object Name, ResourceGroupName, ProvisioningState, ServiceProviderProvisioningState, Sku

# 3. Reapply the configuration (this triggers a reset/reapply)
Set-AzExpressRouteCircuit -ExpressRouteCircuit $erCircuit

# 4. Verify the circuit state after the operation
Get-AzExpressRouteCircuit -Name "Lab-ER-Circuit" -ResourceGroupName "Lab-RG" |
    Select-Object Name, ProvisioningState, ServiceProviderProvisioningState, Sku
```

## What to inspect after running the command

Check these properties to determine whether the issue was resolved or if the provider side still reports a problem:

| Property                           | Meaning                                | Example values                                  |
| ---------------------------------- | -------------------------------------- | ----------------------------------------------- |
| `ProvisioningState`                | Azure-side provisioning status         | `Succeeded`, `Updating`, `Failed`               |
| `ServiceProviderProvisioningState` | Service provider's provisioning status | `Provisioned`, `Provisioning`, `NotProvisioned` |
| `Sku`                              | Circuit SKU and bandwidth              | e.g. `Standard_Metered`                         |

Always compare both `ProvisioningState` and `ServiceProviderProvisioningState`—a successful Azure-side state with a provider-side `NotProvisioned` or `Failed` usually indicates the issue is with the connectivity provider.

<Callout icon="warning" color="#FF6B6B">
  Resetting/reapplying an ExpressRoute configuration may cause a brief disruption in traffic. Ensure you have appropriate permissions (for example, Network Contributor or Owner) and perform this during an approved maintenance window when required. For built-in role details, see [https://learn.microsoft.com/azure/role-based-access-control/built-in-roles](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles).
</Callout>

## Troubleshooting tips

* Permission errors: Confirm your role assignments and that your account has access to the target subscription and resource group.
* Persistent failed state: Inspect related resources such as peerings, authorizations, and provider-side status. Collect the circuit's service key and provisioning details.
* If provider-side issues persist, open a support request with Microsoft Azure and include the circuit service key and recent provisioning logs: [https://learn.microsoft.com/azure/azure-supportability/create-technical-support-request](https://learn.microsoft.com/azure/azure-supportability/create-technical-support-request)

## Quick reference links

* ExpressRoute overview: [https://learn.microsoft.com/azure/expressroute/expressroute-introduction](https://learn.microsoft.com/azure/expressroute/expressroute-introduction)
* Az PowerShell install: [https://learn.microsoft.com/powershell/azure/install-az-ps](https://learn.microsoft.com/powershell/azure/install-az-ps)
* Set-AzExpressRouteCircuit (cmdlet reference): [https://learn.microsoft.com/powershell/module/az.network/set-azexpressroutecircuit](https://learn.microsoft.com/powershell/module/az.network/set-azexpressroutecircuit)
* Azure support: [https://learn.microsoft.com/azure/azure-supportability/create-technical-support-request](https://learn.microsoft.com/azure/azure-supportability/create-technical-support-request)

Notes:

* If the `Set-AzExpressRouteCircuit` command does not progress, capture the cmdlet output and any error details for support.
* Reapplying the configuration preserves the existing resource configuration while re-triggering Azure-side provisioning logic.

<CardGroup>
  <Card title="Watch Video" icon="video" cta="Learn more" href="https://learn.kodekloud.com/user/courses/az-700-designing-and-implementing-microsoft-azure-networking-solutions/module/6190597d-0e7a-4ffd-ac5d-afe70f482a27/lesson/07537780-a32b-40bd-ae70-b7f97ed2837e" />
</CardGroup>
