Get-WirelessAdapter

by Mar 18, 2014

In the previous tip, we illustrated how you can use Registry information to find wireless network adapters. Here is now a function Get-WirelessAdapter that returns all wireless adapters in your system:

function Get-WirelessAdapter
{
  Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Network\*\*\Connection' -ErrorAction SilentlyContinue |
    Select-Object -Property MediaSubType, PNPInstanceID |
    Where-Object { $_.MediaSubType -eq 2 -and $_.PnpInstanceID } |
    Select-Object -ExpandProperty PnpInstanceID |
    ForEach-Object {
      $wmipnpID = $_.Replace('\', '\\')
      Get-WmiObject -Class Win32_NetworkAdapter -Filter "PNPDeviceID='$wmipnpID'"
    } 
} 

Just run the function:

Since the function returns a true WMI object, you can then determine whether the adapter is currently active, and enable or disable it.

This would identify the adapter, then disable it, then enable it again:

$adapter = Get-WirelessAdapter
$adapter.Disable().ReturnValue
$adapter.Enable().ReturnValue 

Note that a return code of 5 indicates that you do not have sufficient privileges. Run the script as an Administrator.

Twitter This Tip! ReTweet this Tip!