Attivare e disattivare la connessione wi-fi

3

Ho bisogno di un applescript che attiva e disattiva il wi-fi a intervalli regolari, diciamo ogni 10 o 15 minuti. Sto usando un MacBookPro 2012 con 10.9.5.

    
posta jimmyvw 12.10.2014 - 17:06
fonte

3 risposte

3

DISCLAMER : non posso controllare questo (che funzioni effettivamente) al momento, ma lo farò più tardi.

Questo script per attivare / disattivare la rete Wi-Fi è tratto da qui :

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

Dovresti modificarlo per far sì che accetti argomenti (lo farei, ma risulterebbe qualcosa di simile a javascript)

Quindi, se vuoi eseguire lo script in modo razionale, usa qualcosa come LaunchAgent o cron . Preferisco LaunchAgent, perché è più indulgente.

    
risposta data 12.10.2014 - 21:18
fonte
2

Modifica il crontab di root (eseguendo ad esempio EDITOR=nano sudo crontab -e ) e aggiungi una riga

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

dove en1 è l'identificatore mostrato da networksetup -listallhardwareports|awk '/^Hardware Port: (Wi-Fi|Airport)/{getline;print $2}' .

I comandi ifconfig richiedono i privilegi di superutente.

    
risposta data 16.10.2014 - 18:11
fonte
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
    
risposta data 16.10.2014 - 10:13
fonte

Leggi altre domande sui tag