4 votes

Basculer le Wi-Fi de marche à arrêt

J'ai besoin d'un script Apple qui basculera le wi-fi de l'appareil à des intervalles définis, disons toutes les 10 ou 15 minutes. Je suis sur un MacBook Pro de 2012 fonctionnant sous 10.9.5.

4voto

Mark Sherretta Points 5272

AVERTISSEMENT: Je ne peux pas vérifier cela (si cela fonctionne réellement) pour le moment, mais je le ferai plus tard.

Ce script pour activer/désactiver le wifi est tiré d' ici:

try
    set makiaeawirelessstatus to do shell script "networksetup -getairportpower en1"
on error
    display dialog "Le script n'a pas fonctionné comme prévu, veuillez vérifier que la commande networksetup (dans le terminal) fonctionne sur votre système. Il a été testé sur mac os 10.7 (Build 11A459e). D'autres versions de mac os peuvent ne pas avoir cette commande disponible. Veuillez ouvrir le script applescript dans l'éditeur applescript pour plus de détails." 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 "Le script n'a pas fonctionné comme prévu, veuillez vérifier que votre connexion sans fil est correctement spécifiée. Par défaut, dans ce script, c'est en1 (veuillez ouvrir le script applescript dans l'éditeur applescript pour plus de détails)" buttons {"kthxbai"}
end if

Vous devrez le modifier pour qu'il accepte des arguments (je le ferais, mais cela ressemblerait à quelque chose comme javascript)

Ensuite, si vous souhaitez que le script s'exécute de manière récurrente, utilisez quelque chose comme LaunchAgent ou cron. Je préfère LaunchAgent, car il est plus tolérant.

2voto

Modifiez la crontab de root (en exécutant par exemple EDITOR=nano sudo crontab -e) et ajoutez une ligne

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

en1 est l'identifiant indiqué par networksetup -listallhardwareports|awk '/^Hardware Port: (Wi-Fi|Airport)/{getline;print $2}'.

Les commandes ifconfig nécessitent des privilèges superutilisateur.

0voto

fartheraway Points 4886
tell application "System Events" to tell process "SystemUIServer"
    click (premier élément de la barre de menus dont la valeur de l'attribut "AXDescription" contient "Wi-Fi") de la barre de menus 1
    try
        clique sur l'article de menu 2 du menu de (premier élément de la barre de menus dont la valeur de l'attribut "AXDescription" contient "Wi-Fi") de la barre de menus 1
    end try

end tell

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X