![2016年标准服务器中 HTPC 的 WIFI 自动连接](https://linux22.com/image/1574481/2016%E5%B9%B4%E6%A0%87%E5%87%86%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%AD%20HTPC%20%E7%9A%84%20WIFI%20%E8%87%AA%E5%8A%A8%E8%BF%9E%E6%8E%A5.png)
我有一台 htpc,它使用 WIFI 连接到互联网,并通过 WIFI 获得局域网连接。它运行的是 2016 年标准服务器。机器设置为自动连接,但是,当断电时,UPS 上的机器会与不在 UPS 上的 AP 失去信号。我希望机器检查 SSID,并在 AP 恢复并广播其 SSID 后重新连接到 wifi
我已成功设置了计划任务,当 WLAN 自动配置操作日志中发布事件 8003(当机器丢失 wifi 信号时)时执行该任务。命令
netsh wlan connect ssid=xxxxx name=yyyyy
其中 xxxxx 是机器上已知的 wifi 配置文件,yyyyy 是 wifi ssid
任务完成得很好,但缺少一个关键步骤,我不知道该如何解决。这就是我需要发生的事情
1)日志中发布事件 8003
2)任务执行并尝试连接
3)任务完成
4)Ping 8.8.8.8(或任何其他 IP)进行互联网连接测试
5)如果 ping 没有响应,则等待 5 秒后返回步骤 1
6)如果有ping响应停止任务并等待事件8003再次发生
有没有可以编写的简单脚本,让这个脚本无需我的监督,在后台执行
一些额外的细节:
无线网卡:TP Link Archer T9
AP:TP-Link AV2000(TL-WPA9610
HTPC 操作系统:Server 2016 标准
答案1
这是一个理论上编写的脚本,没有进行过测试:
:again
netsh wlan connect ssid=xxxxx name=yyyyy
IF %ERRORLEVEL% NEQ 0 goto wait5
Ping 8.8.8.8
IF %ERRORLEVEL% EQ 0 goto:eof
:wait5
timeout 5
goto again