使用networksetup连接到WiFi网络时,WiFi符号会出现并带有感叹号。它还显示网络首选项中没有802.1x身份验证。我已经尝试了以下命令:
networksetup -setairportnetwork $INTERFACE "$SSID"
在设置网络之前,我曾尝试解锁钥匙串,并尝试将密码添加为最后一个参数。我也尝试过在钥匙串中设置密码,以允许所有应用程序无限制地访问它。
我希望网络的连接方式与手动切换网络时相同。但是,在通过networksetup连接后查看网络首选项时,似乎没有进行身份验证。
在网络首选项下,手动切换后,状态为已连接,并显示消息“ Wi-Fi已连接到XXXX,并且IP地址为XXXXXXX”。它还显示“ 802.1X:默认”和“通过EAP-PEAP(MSCHAPv2)认证”
但是,使用脚本切换后,状态为“开”,并显示消息“ Wi-Fi没有IP地址,无法连接到Internet”。也没有关于802.1X身份验证的消息。
我最终在bash脚本中使用Applescript解决了这个问题。这模仿了用户手动切换WiFi网络的方式。
万一将来还有其他人遇到这个问题,这是我创建的bash函数来为我做的。
switchWiFi () {
osascript \
-e'tell application "System Events"' \
-e 'tell process "SystemUIServer"' \
-e 'click (menu bar item 1 of menu bar 1 whose description contains "Wi-Fi")' \
-e "click menu item $1 of menu 1 of result" \
-e 'end tell' \
-e 'end tell'
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句