如何在Windows命令行通过WPS-PBC连接WiFi?
如何在Windows命令行通过WPS-PBC连接WiFi?
嘿,刚好研究过这个问题,给你整理一套在Windows命令行用WPS-PBC连接WiFi的实操方案,亲测可行!
第一步:先确认你的无线网卡支持WPS-PBC
不是所有网卡都支持WPS,先跑个命令查一下:
netsh wlan show drivers
在输出里找「支持的WPS版本」这一项,如果能看到包含PBC(Push Button Configuration)的标识,比如“WPS 2.0, PBC”,那你的网卡就可以用这个方法。
第二步:获取目标WiFi的关键信息
先扫描附近的WiFi,找到你要连的那个的SSID:
netsh wlan show networks mode=bssid
把目标WiFi的SSID记下来,后面要用到。
第三步:创建WPS-PBC专用的WiFi配置文件
Windows命令行不能直接一键触发WPS-PBC,但可以通过导入预配置的XML文件来实现。你需要新建一个XML文件(比如命名为wps-pbc-profile.xml),内容如下:
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1"> <name>替换成你的WiFi SSID</name> <SSIDConfig> <SSID> <name>替换成你的WiFi SSID</name> </SSID> </SSIDConfig> <connectionType>ESS</connectionType> <connectionMode>auto</connectionMode> <MSM> <security> <authEncryption> <authentication>WPA2PSK</authentication> <!-- 按实际加密方式改,比如WPA3PSK --> <encryption>AES</encryption> <useOneX>false</useOneX> </authEncryption> <sharedKey> <keyType>passPhrase</keyType> <protected>true</protected> <keyMaterial>WPS</keyMaterial> </sharedKey> </security> </MSM> <WPSConfig> <WPSPBC>true</WPSPBC> </WPSConfig> </WLANProfile>
记得把里面的「替换成你的WiFi SSID」改成实际的WiFi名称,还有authentication字段要匹配你的WiFi加密方式(比如WPA3的话就改成WPA3PSK)。
第四步:导入配置并触发WPS-PBC连接
- 先导入刚才的配置文件到系统里:
netsh wlan add profile filename="C:\你保存XML的路径\wps-pbc-profile.xml" user=current
- 核心操作:立刻按下路由器上的WPS PBC按钮(别等太久,WPS会话一般10秒内有效),然后马上执行连接命令:
netsh wlan connect name="你的WiFi SSID" ssid="你的WiFi SSID"
如果一切顺利,命令行就会提示你连接成功啦!
偷懒小技巧:导出已有的WPS配置
如果你之前已经在图形界面用WPS-PBC连过这个WiFi,那直接导出现成的配置文件就行,省得自己写XML:
netsh wlan export profile name="你的WiFi SSID" folder="C:\保存路径"
导出后打开XML文件,确认里面有<WPSConfig><WPSPBC>true</WPSPBC></WPSConfig>这段,之后就可以重复用这个配置文件在命令行连接了。
注意事项
- 一定要在按路由器WPS按钮的短时间内执行连接命令,超时的话就得重新按按钮再试。
- 部分旧版Windows(比如Win7早期版本)可能不支持通过XML配置WPS,Win10 1903及以后版本支持度最好。
- 如果连接失败,先检查XML里的SSID、加密方式是否正确,再确认网卡的WPS支持情况。
备注:内容来源于stack exchange,提问作者Nikita




