Troubleshooting network connectivity problems, toggling Wi-Fi and Ethernet interfaces, or resetting virtual network switches often requires administrative control over your network adapters. While Windows 11 provides graphical interfaces in the modern Settings app and the legacy Network Connections Control Panel, automating or speeding up network diagnostics is far more efficient through command-line tools. Microsoft PowerShell provides a robust, native module called NetAdapter designed specifically for network interface management.
Using PowerShell cmdlets, system administrators and power users can inspect link speeds, identify interface statuses, disable stubborn adapters, and perform clean restarts without navigating multiple nested menus. In this tutorial, we explore how to view, disable, enable, and restart network adapters in Windows 11 using PowerShell.
Launching PowerShell with Administrative Privileges
Modifying hardware interface states directly affects system networking and security policies. Consequently, all network adapter management cmdlets require an elevated PowerShell session. To open an elevated session in Windows 11:
- Right-click the Start button on the taskbar or press
Windows Key + Xto reveal the Quick Link menu. - Select Terminal (Admin) or PowerShell (Admin) from the list.
- When prompted by the User Account Control (UAC) dialogue asking whether to allow the app to make changes to your device, click Yes.
How to List and Inspect Network Adapters
Before modifying any adapter state, you must identify the exact system name, interface description, MAC address, and connection status of each physical and virtual adapter installed on your computer.
To view a clean summary table of all network adapters, run the following command:
Get-NetAdapter
This command returns columns including Name (such as Wi-Fi or Ethernet), InterfaceDescription (hardware chipset model), Status (Up, Disconnected, or Disabled), MacAddress, and LinkSpeed.
If you want to view all adapters including hidden, virtual tunnel, or disabled adapters, include the -IncludeHidden flag:
Get-NetAdapter -IncludeHidden
To inspect detailed hardware and operational properties of a specific interface (for instance, the Wi-Fi card), run:
Get-NetAdapter -Name "Wi-Fi" | Format-List -Property *
How to Disable a Network Adapter Using PowerShell
Disabling a network adapter temporarily halts all packet transmission, unbinds TCP/IP protocols, and powers down the connection without uninstalling hardware drivers. To disable an adapter, use the Disable-NetAdapter cmdlet followed by the adapter name:
Disable-NetAdapter -Name "Wi-Fi"
By default, PowerShell prompts for interactive confirmation before disabling the interface to prevent accidental disconnection. To bypass the confirmation prompt in automated scripts or routine tasks, append the -Confirm:$false parameter:
Disable-NetAdapter -Name "Wi-Fi" -Confirm:$false
You can verify that the adapter status has changed to Disabled by running Get-NetAdapter -Name "Wi-Fi".
How to Enable a Disabled Network Adapter
Once you are ready to bring an adapter back online, use the complementary Enable-NetAdapter cmdlet:
Enable-NetAdapter -Name "Wi-Fi" -Confirm:$false
Windows 11 will immediately re-initialise the network controller, negotiate link speeds, establish wireless or wired connections, and request IP configuration via DHCP or apply static addressing.
How to Restart Network Adapters in One Command
During connectivity drops, DNS resolution hiccups, or gateway deadlocks, cycling an adapter off and immediately back on often clears cached states and re-establishes a clean link. PowerShell provides a dedicated cmdlet that executes this cycle automatically:
Restart-NetAdapter -Name "Ethernet"
To restart the interface silently without prompt interruptions, execute:
Restart-NetAdapter -Name "Ethernet" -Confirm:$false
If your machine has multiple network adapters and you want to restart all active interfaces simultaneously, pipe the output of Get-NetAdapter directly into Restart-NetAdapter:
Get-NetAdapter | Where-Object {$_.Status -eq "Up"} | Restart-NetAdapter -Confirm:$false
Renaming Network Adapters for Clarity
Default adapter names assigned by Windows (such as Ethernet 2 or vEthernet (Default Switch)) can sometimes become confusing. You can assign descriptive, clean labels using the Rename-NetAdapter cmdlet:
Rename-NetAdapter -Name "Ethernet 2" -NewName "Office-LAN"
Once renamed, all future PowerShell cmdlets, network status queries, and firewall rules will recognise the new adapter name immediately.
Best Practices and Diagnostic Safety
- Remote Administration Warning: If you are managing a remote Windows 11 machine via SSH, PowerShell Remoting (WinRM), or Remote Desktop (RDP), running
Disable-NetAdapteron the active connecting adapter will instantly terminate your remote session without automatically reconnecting. Always useRestart-NetAdapteror schedule an automated recovery script when working remotely. - Driver Integrity: If an adapter repeatedly fails to report an Up status after being enabled via PowerShell, check for driver errors in Device Manager or review Windows Event Logs under Applications and Services Logs > Microsoft > Windows > NetworkProfile.