Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Technologies Apple _ Réseau Airport et automatisation AppleScript

Écrit par : muzalex 15 Aug 2008, 17:14

{Déjà posté dans la rubrique réseau, mais je pense que j'étais hors sujet}

Bonjour,

Suite à une mure réflexion :-D j'ai décidé d'utiliser un Mac Mini comme serveur/routeur sans fil en y implémentant un serveur DHCP.
Ainsi, le modem est connecté par câble ethernet au mac mini qui redistribue la connexion via Airport. Pour cela, il faut créer sur le mac mini un réseau Airport (de machine à machine) auquel peuvent se connecter le/les ordinateurs clients.
Le problème c'est qu'à chaque démarrage, il faut répéter l'opération, chose difficile puisque le Mini n'a pas d'écran ni de périphérique d'entrée (il est uniquement connecté à un projecteur).

J'aurais donc voulu créer un AppleScript, se lancant au démarrage, et créant automatiquement ce réseau, en attribuant un mot de passe à ce réseau. Malheureusement je n'ai (absolument) aucune notion sur ce langage... Pourriez-vous m'aider ?


Merci !
Alexandre.


Écrit par : andre6006 15 Aug 2008, 17:48

La réponse était ici : http://forum.macbidouille.com/index.php?showtopic=276177

Voila le bon script :

CODE
set tonMotDePasse to "tesdeftghetsd" --doit contenir 13 caractères ASCII ou 26 chiffres hexadécimaux

tell application "System Events" to tell process "SystemUIServer"
    tell menu bar 1
        set L to value of attribute "AXDescription" of menu bar items
        repeat with i from 1 to the count of L
            if item i of L is "Menu supplémentaire AirPort" then exit repeat
        end repeat
        tell menu bar item i
            perform action "AXPress"
            delay 0.2
            perform action "AXPress" of menu item "Créer un réseau…" of menu 1
        end tell
    end tell
    repeat until exists window 1
        delay 0.5
    end repeat
    click checkbox "Mot de passe obligatoire" of window 1
    delay 0.2
    keystroke tonMotDePasse
    delay 0.2
    keystroke tab
    delay 0.2
    keystroke tonMotDePasse
    delay 0.2
    click pop up button "Sécurité :" of window 1
    delay 0.2
    click menu item "WEP 128 bits" of menu 1 of pop up button "Sécurité :" of window 1
    delay 0.2
    keystroke return
end tell


A enregistrer en tant qu'application et à mettre au démarrage.

Écrit par : muzalex 17 Aug 2008, 23:01

1) Excusez moi de n'avoir pas recherché correctement

2) Ce script est génial.

3) Merci.



++
alex

Écrit par : olisynth 25 Aug 2008, 21:59

Eh, super sympa ce script andre6006
Je le vois un peu tard mais il me fait plaisir quand même smile.gif
Tu aurais pu faire signe (à l'aveugle que je suis)
Je me prends la tete avec Automator rolleyes.gif

Écrit par : andre6006 25 Aug 2008, 22:22

Excuse moi mais tu étais avec le grand JackJr300, donc j'ai pensé qu'il résoudrait ton problème très vite et très bien.
Toutes mes excuses.

Écrit par : olisynth 25 Aug 2008, 22:29

Je n'ai pas exprimé non plus mon problème en entier je crois smile.gif

Écrit par : olisynth 31 Aug 2008, 16:19

CITATION(andre6006 @ 15 Aug 2008, 18:48) [snapback]2765443[/snapback]

La réponse était ici : http://forum.macbidouille.com/index.php?showtopic=276177

Voila le bon script :

CODE
set tonMotDePasse to "tesdeftghetsd" --doit contenir 13 caractères ASCII ou 26 chiffres hexadécimaux

tell application "System Events" to tell process "SystemUIServer"
    tell menu bar 1
        set L to value of attribute "AXDescription" of menu bar items
        repeat with i from 1 to the count of L
            if item i of L is "Menu supplémentaire AirPort" then exit repeat
        end repeat
        tell menu bar item i
            perform action "AXPress"
            delay 0.2
            perform action "AXPress" of menu item "Créer un réseau…" of menu 1
        end tell
    end tell
    repeat until exists window 1
        delay 0.5
    end repeat
    click checkbox "Mot de passe obligatoire" of window 1
    delay 0.2
    keystroke tonMotDePasse
    delay 0.2
    keystroke tab
    delay 0.2
    keystroke tonMotDePasse
    delay 0.2
    click pop up button "Sécurité :" of window 1
    delay 0.2
    click menu item "WEP 128 bits" of menu 1 of pop up button "Sécurité :" of window 1
    delay 0.2
    keystroke return
end tell




Hello
Comment fait on pour faire la même chose avec 5 caractères ( la clé WEP 40 bits ) ?

Écrit par : andre6006 31 Aug 2008, 18:06

tu remplaces

CODE
    click menu item "WEP 128 bits" of menu 1 of pop up button "Sécurité :" of window 1

par
CODE
    click menu item "WEP 40 bits (plus compatible)" of menu 1 of pop up button "Sécurité :" of window 1


et la clé doit bien sur avoir 5 caractères.

Écrit par : olisynth 31 Aug 2008, 18:47

Désolé ca fonctionne pas
Le script rentre toujours 13 caractères au lieu de 5 et j'ai bien mis 5 caractères à la place de "tonmotpasse" dans le script

Écrit par : andre6006 31 Aug 2008, 18:52

Où il y a-t-il une erreur?

Écrit par : olisynth 31 Aug 2008, 19:22

La fenêtre "créer un réseau" s'ouvre, 13 caractères sont "tapé", puis 13 autres pour confirmer, puis selection du menu
"WEP 40 bits (plus compatible)" et la case OK ne se valide pas puisque 13 caractères ont été tapé !

Écrit par : andre6006 31 Aug 2008, 19:38

C'est

CODE
tesdeftghetsd
qu'il faut modifié par 5 autres caractères dans le script.

Écrit par : olisynth 31 Aug 2008, 19:52

Ok merci, ca fonctionne smile.gif

Une petite idée pour ce http://forum.macbidouille.com/index.php?showtopic=276177 ?

Écrit par : olisynth 31 Aug 2008, 22:39

J'ai voulu ajouter dans le script le choix du Canal mais désolé si je fatigue ! ca ne fonctionne pas.
J'ai ajouté ces lignes juste avant "click checkbox "Mot de passe obligatoire" of window 1"

CODE
click pop up button "Canal :" of window 1
    delay 0.2
    click menu item "2" of menu 1 of pop up button "Canal :" of window 1
    delay 0.2

et ... "Erreur dans System Events : Il est impossible d’obtenir pop up button "Canal :" of window 1 of process "SystemUIServer"."
Pourquoi ca marche pas avec moi ? rolleyes.gif

Écrit par : andre6006 31 Aug 2008, 23:01

Dommage, ce n'est pas

CODE
pop up button "Canal :" of window 1

mais
CODE
pop up button "Canal :
" of window 1


Sinon ça fonctionne.

Écrit par : olisynth 31 Aug 2008, 23:15

Non, même message d'erreur !

CODE
repeat until exists window 1
        delay 0.5
    end repeat
    click pop up button "Canal :
    " of window 1
    delay 0.2
    click menu item "2" of menu 1 of pop up button "Canal :" of window 1
    delay 0.2
    click checkbox "Mot de passe obligatoire" of window 1

Écrit par : andre6006 1 Sep 2008, 10:25

Il faut aussi que tu modifie

CODE
    click menu item "2" of menu 1 of pop up button "Canal :" of window 1
par
CODE
    click menu item "2" of menu 1 of pop up button "Canal :
" of window 1

Écrit par : olisynth 1 Sep 2008, 11:06

Je repose le script :

CODE
set motdepasse to "hgfur" --doit contenir 5 caractères ASCII ou 10 chiffres hexadécimaux

tell application "System Events" to tell process "SystemUIServer"
    tell menu bar 1
        set L to value of attribute "AXDescription" of menu bar items
        repeat with i from 1 to the count of L
            if item i of L is "Menu supplémentaire AirPort" then exit repeat
        end repeat
        tell menu bar item i
            perform action "AXPress"
            delay 0.2
            perform action "AXPress" of menu item "Créer un réseau…" of menu 1
        end tell
    end tell
    repeat until exists window 1
        delay 0.5
    end repeat
    click pop up button "Canal :
" of window 1
    delay 0.2
    click menu item "2" of menu 1 of pop up button "Canal :
" of window 1
    delay 0.2
    click checkbox "Mot de passe obligatoire" of window 1
    delay 0.2
    keystroke motdepasse
    delay 0.2
    keystroke tab
    delay 0.2
    keystroke motdepasse
    delay 0.2
    click pop up button "Sécurité :" of window 1
    delay 0.2
    click menu item "WEP 40 bits (plus compatible)" of menu 1 of pop up button "Sécurité :" of window 1
    delay 0.2
    keystroke return
end tell

et le message d'erreur AppleScript :
"Erreur dans System Events : Il est impossible d’obtenir pop up button "Canal :
" of window 1 of process "SystemUIServer"."

Écrit par : andre6006 1 Sep 2008, 12:15

Doit il y avoir un problème avec les sauts de ligne.
Je te met le script qui fonctionne :
[attachmentid=25445]

 airport.zip ( 3.86 Ko ) : 32
 

Écrit par : olisynth 1 Sep 2008, 12:40

Je comprends rien mais ca fonctionne. Ton script a l'air identique au mien !
Merci encore

Et sinon, pourquoi cette différence ?
entre

CODE
click pop up button "Canal :
" of window 1

et
CODE
click pop up button "Sécurité :" of window 1

Pourquoi "Canal" a droit a un saut de ligne et pas "Sécurité" ?

Écrit par : andre6006 1 Sep 2008, 17:06

C'est le nom utilisé pour définir l'objet, les développeurs choisissent et là, ils ont dû appuyer un peu vite sur entrer. smile.gif

Écrit par : olisynth 1 Sep 2008, 22:20

Huumm, tu as le nez fin ! bien joué smile.gif

Écrit par : sunsetlud 27 Dec 2008, 02:21

Salut la communauté !

J'essaye de créer un script pour déconnecter (et non désactiver) ma borne AirPort Express mais j'avoue que je débute dans ne mode de "programmation" et les erreurs de syntaxe, voir de cible me sont rédhibitoires pour le moment.

Actuellement j'en suis là :

CODE
tell application "AirPort Utility" to activate
delay 10
tell application "System Events"
    tell application process "AirPort Utility"
        
        tell window 1
            click button "Configuration manuelle"
            delay 10
        end tell
        
        tell menu bar 1
            click menu bar item "Base station"
            
            tell menu bar item "Base station"
                tell menu 1
                    click menu item "Restart…"
                end tell
            end tell
        end tell
        
        delay 1 --imperative
        
        tell window 1 --"AirPort Utility - Extreme Base"
            tell sheet 1
                click button "OK"
            end tell
        end tell
        
        say "Restarting Airport"
        
        delay 1
        
    end tell
end tell

tell application "AirPort Utility" to quit


et cela bloque à Base station, idem pour la traduction en Borne d'accès. J'ai essayé plusieurs variante de commande mais je sèche complètement ! de plus je ne sais pas comment utiliser le complément de pilotage XNetwork.osax qui semble taillé pour cela ! drill.gif

Je précise que je n'ai pas accès dans l'indicateur AirPort de la barre de titre à l'option Déconnecter... de la borne; d'où le passage par l'Utilitaire AirPort. blink.gif

si quelqu'un peut m'aider, se serait top ! whistle.gif
Merci par avance.

Écrit par : Jinha 17 Dec 2016, 20:59

Je te conseille de faire un clic droit sur l'utilitaire aiport "Voir le contenu du paquet". Puis cherche le dossier de localisation Fr.proj. À l'intérieur, ouvre le fichier MainMenu.nib avec un logiciel comme textWrangler. Recherche le menu "Borne d'accès" et copie/colle la ligne du texte. Je ne sais pas pourquoi mais AppleScript accepte "Borne d'accès" copié mais pas "Borne d'accès" écrit ne fonctionne pas. Tu pourras copier tous les intitulés des menus de cette façon et rendre ton script fonctionnel.

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)