欢迎各位兄弟 发布技术文章
这里的技术是共享的
使用bat连接无线网络不是创建WiFi,主要是解决没有分配给指定接口的配置文件"XX"的问题.文字描述差不多就行.
使用netsh wlan connect 连接开放式网络,无密码;本机在连接WiFi之后没有在本机生成profile(配置文件) 所以在使用
"netsh wlan connect name=profile1 ssid=ssid1 interface="Wireless Network Connection"
时那个"name=无线网络名称/ssid"(至少我看过的资料都是这么写的或者我没有找到)时显示没有分配给指定接口的配置文件"XX";
关于interface可以使用"net wlan show drivers"查看接口名字,如果英文不行可以换这个;
我用手机创建一个WiFi(开放式)ssid="A9";
使用"netsh wlan connect name=A9 ssid=A9 interface="无线网络连接"时显示 没有分配给指定接口的配置文件"A9".
这时就需要 手动创建一个profile(配置文件)
1. 进入"网络和共享中心",
2. 点击左侧的"管理无线网络",
3. 点击"添加",
4. 选择"手动创建网络配置文件;
5. 在网络名填写A9
6. 安全类型选择"无身份验证(开发式)"
7. "下一步"
这就创建成功了.
现在再试一次就成功了
接下来可以使用" netsh wlan export profile name=A9 folder=c: " 导出配置文件.(我不会配置所有就这样借助一下咯),关于这个命令,看帮助就行.
写成bat,好像要转到 "C:"目录下,由于已经存在了配置文件,所以不能覆盖,可以在创建那里删除后, 试试, 现在双击之后就可自己连上无线了,就不用等了(主要是点那个网络图标后要等好久才能显示连接的界面, 太没有耐心了); 注意那个配置文件的地址要绝对地址( 反正我的不写就找不到文件); 配合之前的"宽带连接",如果宽带不能用就连接无线.
nice.
windows 编程设置wifi连接,有两种方法,一个是使用api,一个是用cmd命令。
复杂易错
就是用netsh系列命令:
netsh全称是network shell,它包括有线与无线的网络设置,是非常方便的工具 ,而且可以避免调用api的复杂编程,因为api里有一大把复杂的结构,C++资源Com调用等。
连接一个wifi,往往会要求输入密码和设置是否自动连接,下次就会用保存的密码自动连接了,这就需要为每个wifi热点保存配置文件,就是profile。
列出配置文件
netsh wlan show profiles
配置文件是以wifi的ssid命名的,如执行命令后没有显示,说明没有保存有profile文件,连接WiFi成功后,系统会保存该profile。
用 netsh wlan connect name=profileName
连接其中一个profile,profileName 一定是本机已保存的wifi配置文件,而不能是一个没有连接过的,没有保存配置文件的wifi名。就是profileName 只能是netsh wlan show profiles命令查询得到的profiles。
netsh wlan connect name=VIPWIFI
已成功完成连接请求。
netsh wlan connect name=Yunmedia7
没有分配给指定接口的配置文件“Yunmedia7”。
netsh wlan disconnect
netsh wlan delete profile name="VIPWIFI"
已从接口“WLAN”中删除配置文件“VIPWIFI”。
profileName 可以打引号也可以不打引号。
netsh wlan add profile filename="wifi.xml"
注意:这里面参数"wifi.xml"是xml文件名,默认路径为当前目录,添加成功后提示:已将配置文件 VIPWIFI添加到接口 WLAN。
netsh wlan show profile name ="VIPWIFI"
接口 WLAN 上的配置文件 VIPWIFI:
=======================================================================
已应用: 所有用户配置文件
配置文件信息
-------------------
版本 : 1
类型 : 无线局域网
名称 : VIPWIFI
控制选项 :
连接模式 : 手动连接
网络广播 : 只在网络广播时连接
AutoSwitch : 请勿切换到其他网络
MAC 随机化: 禁用
连接设置
---------------------
SSID 数目 : 1
SSID 名称 :“VIPWIFI”
网络类型 : 结构
无线电类型 : [ 任何无线电类型 ]
供应商扩展名 : 不存在
安全设置
-----------------
身份验证 : WPA2 - 企业
密码 : CCMP
身份验证 : WPA2 - 企业
密码 : GCMP
安全密钥 : 不存在
802.1X : Enabled
EAP 类型 : Microsoft: 智能卡或其他证书
802.1X auth 凭据 : 计算机或用户凭据
缓存用户信息 : 是
费用设置
-------------
费用 : 无限制
阻塞 : 否
接近数据限制 : 否
过量数据限制 : 否
漫游 : 否
费用来源 : 默认
查看wifi密码的命令:
netsh wlan show profile name ="VIPWIFI" key=clear
Netsh WLAN set profileparameter name="Profile_Name" connectionmode=manual
Netsh WLAN set profileparameter name=" Profile_Name" connectionmode=auto
将一个特定的无线网络配置文件,导出到指定位置:
Netsh WLAN export profile name=“profileName” key=clear folder=“filePath”
export命令为计算机上存储的每个无线网络配置文件创建一个XML文件。请注意,我们使用的命令有key=clear参数,它将触发在XML文件中,包含每个网络的网络安全密钥,因此请确保将这些记录保存在安全的地方,因为使用记事本可以很容易地查看或编辑这些记录。
然后,可以使用导出的XML配置文件,使用以下命令将每个无线配置文件设置导入到所有接口和用户:
Netsh WLAN add profile filename=“文件_路径.XML"
或者,如果要将配置文件导入特定的无线接口且仅导入当前用户,则可以使用以下命令:
Netsh WLAN add profile filename=“路径_With_文件名.xml“ Interface=”Wireless Network Connection“ 用户=当前
netsh wlan export profile name=VIPWIFI folder=D:\8021xxml
接口配置文件“VIPWIFI”已成功保存在文件“D:\8021xxml\WLAN-VIPWIFI.xml”中。
netsh wlan show interfaces
系统上有 1 个接口:
名称 : WLAN
描述 : Realtek RTL8822BE 802.11ac PCIe Adapter
GUID : 8dbaff05-5923-4726-b406-1631dd0e2742
物理地址 : c0:b5:d7:37:a8:19
状态 : 已连接
SSID : VIPKID
BSSID : 94:28:2e:53:0a:02
网络类型 : 结构
无线电类型 : 802.11ac
身份验证 : WPA2 - 企业
密码 : CCMP
连接模式 : 配置文件
信道 : 48
接收速率(Mbps) : 360
传输速率 (Mbps) : 360
信号 : 100%
配置文件 : VIPWIFI
承载网络状态 : 不可用
netsh lan show interfaces
系统有 4 个接口:
名称 : VMware Network Adapter VMnet1
描述 : VMware Virtual Ethernet Adapter for VMnet1
GUID : 140dc0a9-7ac2-4e11-a6f5-9ae896389ea1
物理地址 : 00-50-56-C0-00-01
状态 : 已连接。网络不支持身份验证。
名称 : VMware Network Adapter VMnet8
描述 : VMware Virtual Ethernet Adapter for VMnet8
GUID : 4938e088-38b9-4246-aa9d-a90697f0723e
物理地址 : 00-50-56-C0-00-08
状态 : 已连接。网络不支持身份验证。
名称 : 以太网 3
描述 : TAP-Windows Adapter V9
GUID : 36021622-e28d-4f36-9c81-6785999498fa
物理地址 : 00-FF-36-02-16-22
状态 : 网络电缆被拔出
名称 : 以太网
描述 : Realtek PCIe GbE Family Controller
GUID : 65efcfa3-9c76-4d10-9bf1-9a1dc9d3b7ed
物理地址 : 80-E8-2C-31-0E-4C
状态 : 网络电缆被拔出
netsh interface set interface "Interface Name" enabled
来自 https://blog.csdn.net/panjunnn/article/details/112356954
1)显示本机保存的profiles,配置文件是以wifi的ssid命名的.
netsh wlan show profiles
2)用netsh wlan connect name=xxxxx 连接其中一个profile
3)断开连接
netsh wlan disconnect
其它常用的命令:
Netsh WLAN delete profile name="Profile_Name"
Netsh WLAN set profileparameter name="Profile_Name" connectionmode=manual
Netsh WLAN set profileparameter name=" Profile_Name" connectionmode=auto
列出配置文件:netsh wlan show profile
导出配置文件:netsh wlan export profile key=clear
删除配置文件:netsh wlan delete profile name=""
添加配置文件:netsh wlan add profile filename=""
连接指定热点:netsh wlan connect name="wifi name"
列出无线接口:netsh wlan show interface
开启无线接口:netsh interface set interface "Interface Name" enabled
微软官方指南:
Netsh Commands for Wireless Local Area Network (WLAN) in Windows Server 2008
https://technet.microsoft.com/en-us/library/cc755301(v=ws.10).aspx#bkmk_wlanConn
另一个很好的介绍网站:
How to manage wireless networks using Command Prompt in Windows 10 | Windows Central
https://www.windowscentral.com/how-manage-wireless-networks-using-command-prompt-windows-10