Activar y desactivar el wi-fi

3

Necesito un applecript que active y desactive el wi-fi a intervalos establecidos, por ejemplo cada 10 o 15 minutos. Estoy usando una MacBookPro 2012 con 10.9.5.

    
pregunta jimmyvw 12.10.2014 - 17:06

3 respuestas

3

DISCLAMER : no puedo verificar esto (que realmente funciona) en este momento, pero lo haré más tarde.

Este script para activar / desactivar wifi se toma de aquí :

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

Necesitaría editarlo para que acepte argumentos (lo haría, pero resultaría algo como javascript)

Luego, si desea que el script se ejecute de forma recurrente, use algo como LaunchAgent o cron . Prefiero LaunchAgent, porque es más indulgente.

    
respondido por el Spotlight 12.10.2014 - 21:18
2

Edite el crontab de la raíz (por ejemplo ejecutando EDITOR=nano sudo crontab -e ) y agregue una línea

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

donde en1 es el identificador mostrado por networksetup -listallhardwareports|awk '/^Hardware Port: (Wi-Fi|Airport)/{getline;print $2}' .

Los comandos ifconfig requieren privilegios de superusuario.

    
respondido por el user495470 16.10.2014 - 18:11
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
    
respondido por el fartheraway 16.10.2014 - 10:13

Lea otras preguntas en las etiquetas