alb*_*o56 10 macos applescript osx-elcapitan
在Mac OS X <= 10.10上,我可以运行以下命令来打开VPN连接窗口:
function go-vpn {
/usr/bin/env osascript <<-EOF
tell application "System Events"
tell current location of network preferences
set VPN to service "LF VPN"
if exists VPN then connect VPN
repeat while (current configuration of VPN is not connected)
delay 1
end repeat
end tell
end tell
EOF
}
Run Code Online (Sandbox Code Playgroud)
这将打开连接窗口(与从VPN下拉列表中选择"LF VPN"网络相同).但是,在El Capitan,我收到以下错误:
execution error: System Events got an error: Can’t get current configuration of service id "18E8C59B-C186-4669-9F8F-FA67D7AA6E53" of network preferences. (-1728)
Run Code Online (Sandbox Code Playgroud)
如何在El Capitan中完成相同的操作,如何调试?
cap*_*ing 15
我正在使用scutil
它,它在OS X 10.11上运行完美
set vpn_name to "'VPN Connection Name'"
set user_name to "my_user_name"
set otp_token to "XYZXYZABCABC"
tell application "System Events"
set rc to do shell script "scutil --nc status " & vpn_name
if rc starts with "Connected" then
do shell script "scutil --nc stop " & vpn_name
else
set PWScript to "security find-generic-password -D \"802.1X Password\" -w -a " & user_name
set passwd to do shell script PWScript
-- installed through "brew install oath-toolkit"
set OTPScript to "/usr/local/bin/oathtool --totp --base32 " & otp_token
set otp to do shell script OTPScript
do shell script "scutil --nc start " & vpn_name & " --user " & user_name
delay 2
keystroke passwd
keystroke otp
keystroke return
end if
end tell
Run Code Online (Sandbox Code Playgroud)
VPN="YOUR_VPN_NAME"
IS_CONNECTED=$(test -z `scutil --nc status "$VPN" | grep Connected` && echo 0 || echo 1);
if [ $IS_CONNECTED = 1 ]; then
scutil --nc stop "$VPN"
else
scutil --nc start "$VPN"
fi
Run Code Online (Sandbox Code Playgroud)
小智 5
使用 shell 脚本代替:
scutil --nc start "$service" #connect
scutil --nc stop "$service" #disconnect
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5598 次 |
最近记录: |