IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AppleScript Discussion :

AppleScript, VPN et Airport


Sujet :

AppleScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut AppleScript, VPN et Airport
    Bonjour, tout le monde, et merci pour le temps que vous allez m'accordez.

    J'ai un script qui vérifie si ma connexion VPN est active (toutes les 5 secondes) mais, si pour une raison où une autre, je coupe la borne Airport, je reçois un message d'erreur. J'aimerais donc éditer mon script pour qu'il effectue la vérification uniquement si la borne airport est connectée. Comment m'y prendre ? Un genre de "if airport on then run the script else do nothing"

    Pour le moment, mon script ressemble à ça:

    on idle
    tell application "System Events"
    tell current location of network preferences
    set myVPN to the service "VPNuniversity"
    if myVPN is not null then
    if current configuration of myVPN is not connected then
    connect myVPN
    end if
    end if
    end tell
    return 5
    end tell
    end idle


    Merci pour votre aide !

  2. #2
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 602
    Points : 1 239
    Points
    1 239
    Par défaut
    Bonjour,
    Le plus simple est d'utiliser la commande unix "networksetup" pour vérifier l'état et cette même commande pour mettre en route le Wifi si il était déconnecté.
    Le script ci-dessous teste l'état et active le Wifi si il ne l'était pas déjà.
    La dernière ligne est facultative, selon ta machine et ta carte. Il est parfois nécessaire d'attendre un peu l'activation complète de la carte Wifi. la valeur de 2 secondes est sans doute un peu longue pour les cartes les plus modernes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    -- Tester l'activation du réseau WIFI et activer si nécessaire
    set Statut to do shell script "networksetup -getairportpower en1" -- donne status WIFI "AirPort Power (en1): On" ou Off
    if "Off" is in Statut then do shell script "networksetup -setairportpower en1 on" --remplacer on par off pour déactiver
    --delay 2 -- pour laisser le temps de la mise en route de la carte Wifi
    Cordialement

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci pour ta réponse PBELL,

    Je n'ai pas besoin que le script démarre le wifi si ce dernier est coupé. J'aimerai que si le wifi est actif, il exécute la connexion au VPN et si il ne l'est pas, il ne fasse rien.
    En modifiant légèrement ce que tu m'a donné, ça donnerait ça en version final ?

    on idle
    if (do shell script "networksetup -getairportpower en1") contains "off" then
    else
    tell application "System Events"
    tell current location of network preferences
    set myVPN to the service "VPNuniversity"
    if myVPN is not null then
    if current configuration of myVPN is not connected then
    connect myVPN
    end if
    end if
    end tell
    end if
    end idle

    Est-ce juste ? Merci beaucoup !

  4. #4
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 602
    Points : 1 239
    Points
    1 239
    Par défaut
    Bonjour,
    Ton code est presque correct à une erreur près : il manque un "end tell" qui doit donner une erreur de compilation.
    Je l'ai ajouté avec un commentaire dans la version ci-dessous.

    Par ailleurs, j'ai simplifié (juste pour la clarté de lecture) en 2 points:
    1) tu testes "if (do shell...) contains" et si oui, tu ne fais rien. Cela t'oblige à gérer le "else". Il est plus élégant de tester si le résultat ne contient pas "off"
    2) sur le "if current configuration..." comme il n'y a qu'une seule instruction, je l'ai mise sur la même ligne, ce qui évite un "end if".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    on idle    
        if (do shell script "networksetup -getairportpower en1") does not contain "off" then
            tell application "System Events"
                tell current location of network preferences
                    set myVPN to the service "VPNuniversity"
                    if myVPN is not null then
                        if current configuration of myVPN is not connected then connectmyVPN
                    end if
                end tell
            end tell -- à ajouter sur ton script
        end if
    end idle
    Cordialement

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Ça marche nickel !

    Merci beaucoup !

Discussions similaires

  1. Réponses: 8
    Dernier message: 02/09/2009, 17h59
  2. VPN L2TP : ouverture de tunnel automatique
    Par SkIllz2k dans le forum Windows
    Réponses: 4
    Dernier message: 09/06/2006, 18h54
  3. [VPN] Connection de deux réseaux
    Par speedy1496 dans le forum Développement
    Réponses: 3
    Dernier message: 14/12/2004, 14h18
  4. Le vpn
    Par flatron dans le forum Réseau
    Réponses: 10
    Dernier message: 23/06/2004, 13h50
  5. [Wi-Fi]Communicaation Airport-PC
    Par Alexandre T dans le forum Développement
    Réponses: 2
    Dernier message: 21/07/2002, 18h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo