Bật và tắt wi-fi


3

Tôi cần một applescript sẽ tắt và bật wi-fi theo các khoảng thời gian đã đặt, cứ sau 10 hoặc 15 phút. Tôi đang sử dụng MacBookPro 2012 chạy 10.9.5.


Các câu hỏi yêu cầu mã phải thể hiện sự hiểu biết tối thiểu về vấn đề đang được giải quyết. Bao gồm các giải pháp đã thử, tại sao chúng không hoạt động và kết quả mong đợi.
grg

Câu trả lời:


3

TUYÊN BỐ TỪ CHỐI : Tôi không thể kiểm tra cái này (nó thực sự hoạt động) vào lúc này, nhưng tôi sẽ làm sau.

Kịch bản này để bật / tắt wifi được lấy từ đây :

try
    set makiaeawirelessstatus to do shell script "networksetup -getairportpower en1"
on error
    display dialog "The script did not work as intended, please check the networksetup command (in terminal) works on your system. It has been tested on mac os 10.7 (Build 11A459e). Other versions of mac os may not have this command available. Please open the applescript in applescript editor for more details." buttons {"kthxbai"}
end try

if makiaeawirelessstatus is "Wi-Fi Power (en1): On" then
    do shell script "networksetup -setairportpower en1 off"
else if makiaeawirelessstatus is "Wi-Fi Power (en1): Off" then
    do shell script "networksetup -setairportpower en1 on"
else
    display dialog "The script did not work as intended, please check your wireless connection is specified correctly. The default in this script is en1 (please open the applescript in applescript editor for more details)" buttons {"kthxbai"}
end if

Bạn cần chỉnh sửa nó để làm cho nó chấp nhận các đối số (tôi sẽ, nhưng nó hóa ra một cái gì đó như javascript)

Sau đó, nếu bạn muốn tập lệnh chạy một cách hiệu quả, hãy sử dụng cái gì đó như Ra mắt hoặc là cron . Tôi thích LaunchAgent, vì nó dễ tha thứ hơn.


2

Chỉnh sửa crontab của root (ví dụ như đang chạy EDITOR=nano sudo crontab -e ) và thêm một dòng

*/15 * * * * ifconfig en1 down;ifconfig en1 up

Ở đâu en1 là định danh được hiển thị bởi networksetup -listallhardwareports|awk '/^Hardware Port: (Wi-Fi|Airport)/{getline;print $2}'.

Các ifconfig các lệnh yêu cầu đặc quyền superuser.


0
tell application "System Events" to tell process "SystemUIServer"
    click (first menu bar item whose value of attribute "AXDescription" contains "Wi-Fi") of menu bar 1
    try
        click menu item 2 of menu of (first menu bar item whose value of attribute "AXDescription" contains "Wi-Fi") of menu bar 1
    end try

end tell
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.