Task 09: Disable Unused Network Adapters
DOCUMENT CATEGORY: Runbook SCOPE: Disable network adapters not used for management to prevent configuration iss... PURPOSE: Disable network adapters not used for management to prevent configuration issues during cluster deployment MASTER REFERENCE: Azure Local Network Adapter Requirements
Status: Active
Overview
Disable network adapters that are not connected. Only the management adapter needs to remain enabled at this stage. Compute and storage adapters are configured later in Phase 16.
Verify which adapter is your active management connection before running. Disabling the wrong adapter requires console access to recover.
Prerequisites
| Requirement | Details |
|---|---|
| Tasks 01–08 complete | OS configured, ICMP enabled |
| Management adapter identified | Know which NIC is your active connection |
Variables from variables.yml
| Path | Type | Description |
|---|---|---|
cluster_nodes[].management_ip | string | PSRemoting target IP (orchestrated mode) |
cluster.management_nic_name | string | Adapter name to preserve (do not disable) |
Execution Options
- Direct (On Node)
- Orchestrated Script
- Standalone Script
Run on each node individually via console, KVM, or RDP.
Toolkit script: scripts/deploy/04-cluster-deployment/phase-03-os-configuration/task-09-disable-unused-network-adapters/powershell/Disable-UnusedAdapters.ps1
# Task 09 - Disable Unused Network Adapters
# No variables required - targets all adapters with Status = Disconnected
Get-NetAdapter | Format-Table Name, Status, LinkSpeed -AutoSize
Get-NetAdapter | Where-Object { $_.Status -eq "Disconnected" } | Disable-NetAdapter -Confirm:$false
Get-NetAdapter | Format-Table Name, Status, LinkSpeed -AutoSize
Run from the management server against all nodes.
Toolkit script: scripts/deploy/04-cluster-deployment/phase-03-os-configuration/task-09-disable-unused-network-adapters/powershell/Invoke-DisableAdapters-Orchestrated.ps1
# Task 09 - Disable Unused Network Adapters (orchestrated, all nodes)
# variables.yml variables:
# cluster_nodes[].management_ip -> $ServerList
$ConfigPath = "$env:USERPROFILE\variables.yml"
$ServerList = (Get-Content $ConfigPath | Select-String 'management_ip:\s+"?([^"'' ]+)' |
ForEach-Object { $_.Matches[0].Groups[1].Value.Trim() })
Invoke-Command ($ServerList) {
Get-NetAdapter | Where-Object { $_.Status -eq "Disconnected" } | Disable-NetAdapter -Confirm:$false
Get-NetAdapter | Format-Table Name, Status, LinkSpeed -AutoSize
} | Sort -Property PsComputerName
When to use: Use this option for a self-contained deployment without a shared configuration file.
Script: See azurelocal-toolkit → scripts/deploy/ for the standalone script for this task.
Standalone script content references the toolkit repository. See the Orchestrated Script tab for the primary implementation.
Validation
# Confirm no Disconnected adapters remain enabled
Get-NetAdapter | Format-Table Name, Status, LinkSpeed -AutoSize
Expected: Only the management adapter shows Up. All others show Disabled.
Validation Checklist
- Management adapter remains
Upon all nodes - All unused adapters show
Disabled - Nodes still accessible over management network
Troubleshooting
| Issue | Resolution |
|---|---|
| Lost connectivity after running | Re-enable the adapter from console: Enable-NetAdapter -Name "<name>" |
| Adapter won't disable | Check for active sessions on that adapter |
Alternatives
The procedures in this task use the scripted methods shown in the tabs above. Additional deployment methods including Azure CLI and Bash scripts are available in the azurelocal-toolkit repository under scripts/deploy/.
| Method | Description |
|---|---|
| Azure CLI | PowerShell-based Azure CLI scripts for Azure resource operations |
| Bash | Linux/macOS compatible shell scripts for pipeline environments |
Navigation
← Task 08: Enable ICMP · ↑ Phase 03 · Task 10: Configure Hostname →
Version Control
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.0.0 | 2025-03-25 | Azure Local Cloud | Initial release |