PowerShell中netsh wlan show networks仅显示已连接网络的问题求助
PowerShell中netsh wlan show networks仅显示已连接网络的问题求助
我最近碰到一个头疼的问题:想通过PowerShell查看所有可用的Wi-Fi网络,照着网上说的用了netsh wlan show networks命令,但每次都只返回当前已经连接的那个网络。
不过有意思的是,如果我先点开Windows右下角的Wi-Fi图标,进入网络选择界面等所有附近的Wi-Fi都加载出来之后,再回到PowerShell运行同一个命令,它就能正常列出所有可用网络了。
我搜了好多地方,只看到一个论坛帖子提过类似情况但没给出解决办法,而且我一直是用管理员权限打开的PowerShell窗口。有没有大佬知道怎么解决这个问题?
我已经试过不少方法了,包括:
- 多次重复执行
netsh wlan show networks命令 - 试了单复数形式的
netsh wlan show network命令 - 结合
explorer.exe ms-availablenetworks命令操作后再扫描(其实我不太懂这个命令到底起啥作用) - 确认命令里没有加任何过滤参数
可能的解决方向
- 主动触发Wi-Fi扫描:先强制让Wi-Fi适配器扫描周边网络,再执行显示命令。试试先跑
netsh wlan scan,等个3-5秒后再运行netsh wlan show networks mode=bssid——加上mode=bssid参数还能看到更详细的网络信息,比如每个网络的BSSID和信号强度。 - 检查Wi-Fi适配器的电源设置:Windows有时候为了省电会限制Wi-Fi适配器的扫描频率。你可以打开设备管理器,找到你的Wi-Fi适配器,右键选「属性」,切到「电源管理」标签,取消勾选「允许计算机关闭此设备以节约电源」,然后禁用再启用适配器试试。
- 重启WLAN服务:试试重启WLAN自动配置服务,在PowerShell里运行这两条命令:
服务重启完成后再重新扫描网络。net stop wlansvc net start wlansvc - 用PowerShell原生命令尝试:可以试试PowerShell自带的网络模块,比如用
Get-NetAdapter查看Wi-Fi适配器状态,或者用Get-CimInstance Win32_WiFiNetwork(这个命令需要系统支持)来获取可用Wi-Fi网络列表。
备注:内容来源于stack exchange,提问作者Minestone
相关产品推荐
相关产品推荐

