You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PowerShell获取指定WLAN的网络接口信息

PowerShell获取指定WLAN对应网络接口的实现方案

核心说明

你之前使用netsh wlan show interface只能查询已连接的无线接口,是因为该命令默认只返回处于活跃连接状态的无线网卡信息,只要你的设备无线网卡未被禁用,不管当前是否连接WiFi、是否插了LAN网线,都可以通过PowerShell的内置命令拿到目标WLAN对应的接口。


1. 获取本机所有无线网卡接口(全场景适用)

使用Get-NetAdapter筛选无线类型接口即可,不管当前无线是否连接都可以返回结果:

# 过滤所有物理无线网卡接口
Get-NetAdapter | Where-Object { $_.InterfaceType -eq 71 -and $_.HardwareInterface }

参数说明:InterfaceType=71是IEEE 802.11无线接口的标准枚举值,HardwareInterface参数用于过滤掉虚拟无线网卡

如果你需要定向筛选名称带WLAN的接口,可以调整命令:

Get-NetAdapter -Name "WLAN*" | Where-Object InterfaceType -eq 71

2. 关联指定SSID的对应无线接口

如果需要查找指定名称的WLAN(比如未连接的WLAN B)对应的网卡接口,可以结合WiFi扫描/已保存配置查询:

# 替换为你要查询的目标WLAN的SSID名称
$targetSSID = "WLAN B"

# 先查当前已连接过的SSID对应的接口
$matchedInterface = Get-NetConnectionProfile | Where-Object { 
    $_.Name -eq $targetSSID -and $_.InterfaceAlias -match "WLAN" 
} | Select-Object -First 1 InterfaceAlias, InterfaceIndex

# 未查到则扫描当前可探测的WiFi列表匹配接口
if (-not $matchedInterface) {
    $scanResult = netsh wlan show networks mode=bssid | Select-String "SSID\s+\d+\s+:\s+$targetSSID", "接口名称\s+:\s+(.*)"
    $interfaceName = $scanResult | Where-Object { $_ -match "接口名称\s+:\s+(.*)" } | ForEach-Object { $_.Matches.Groups[1].Value } | Select-Object -First 1
    $matchedInterface = Get-NetAdapter -Name $interfaceName | Select-Object Name, InterfaceIndex, Status
}

# 输出匹配到的接口信息
$matchedInterface

注意事项

  • 只插LAN网线的场景下,只要无线网卡没有被禁用,上述命令都可以正常返回结果
  • 如果需要查询的目标WLAN不在当前探测范围内,只要该SSID曾经在本机保存过配置,也可以从已保存的WiFi配置列表中匹配到对应的网卡接口
  • 如果执行命令没有返回结果,可以加-IncludeHidden参数查看是否是无线网卡被隐藏/禁用:Get-NetAdapter -IncludeHidden

内容的提问来源于stack exchange,提问作者LesmoTV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 21:06:03