Bonjour à tous,
J'ai pour habitude d'utiliser ce script :
	
	
	
		
Il permet de lancer un VPN au démarrage de la machine (j'ai créé une application lancée au démarrage). Etant souvent en déplacement, je n'ai pas toujours la possibilité d'être connecté à Internet. De ce fait l'application se lance et OSX m'affiche très souvent un message d'erreur comme quoi il ne peut pas se connecter. Normal. Du coup je suis obligé de quitter l'application pour que ces messages ne reviennent pas. Et si entre temps j'ai accès à une connexion, il me faut relancer l'application.
J'aimerai donc faire un script qui ne connecte le VPN uniquement si une connexion est active.
J'ai donc écrit ceci :
	
	
	
		
Lorsque je lance l'application, aucun souci pour se connecter au VPN. Je débranche le câble RJ45 (je n'ai pas de Wifi sous la main pour essayer), le VPN se déconnecte. Jusque là tout va bien. Lorsque je rebranche le câble, rien ne se passe, le VPN n'est pas relancé.
Auriez-vous une petite idées? Une erreur de code? (c'est mon premier script, jusqu'à présent le copier-coller depuis Internet fonctionnait bien )
)
Je vous remercie.
Moutabix
	
		
			
		
		
	
				
			J'ai pour habitude d'utiliser ce script :
		Bloc de code:
	
	on idle
	tell application "System Events" to tell current location of network preferences
		set t_service to service "VPN" -- nom du service VPN
		
		if not connected of current configuration of t_service then connect t_service
	end tell
	return 5 -- vérification au 5 secondes
end idleIl permet de lancer un VPN au démarrage de la machine (j'ai créé une application lancée au démarrage). Etant souvent en déplacement, je n'ai pas toujours la possibilité d'être connecté à Internet. De ce fait l'application se lance et OSX m'affiche très souvent un message d'erreur comme quoi il ne peut pas se connecter. Normal. Du coup je suis obligé de quitter l'application pour que ces messages ne reviennent pas. Et si entre temps j'ai accès à une connexion, il me faut relancer l'application.
J'aimerai donc faire un script qui ne connecte le VPN uniquement si une connexion est active.
J'ai donc écrit ceci :
		Bloc de code:
	
	property test : missing value -- déclaration de la variable "test"
on run
	delay 1 -- délai pour laisser le temps à la machine de se connecté à Internet
	set test to true -- on présume qu'une connexion est disponible, soyons optimistes...
end run
on idle
	tell application "System Events" to tell current location of network preferences
		try
			do shell script "ping -c 1 google.com" -- on ping Google
		on error
			set test to false -- changement d"état de la variable en cas d'erreur
		end try
		
		if test is true then
			set t_service to service "VPN"
			if not connected of current configuration of t_service then -- si le VPN n'est pas connecté
				connect t_service -- on s'y connecte
			else
				delay 5 -- si déjà connecté, on attend 5 secondes avant de tester à nouveau la connexion VPN
			end if
		else
			delay 10 -- si le ping a échoué, on attend 10 secondes avant de tester à nouveau le ping
		end if
	end tell
	return 1 -- et on retourne au début après une seconde
end idleLorsque je lance l'application, aucun souci pour se connecter au VPN. Je débranche le câble RJ45 (je n'ai pas de Wifi sous la main pour essayer), le VPN se déconnecte. Jusque là tout va bien. Lorsque je rebranche le câble, rien ne se passe, le VPN n'est pas relancé.
Auriez-vous une petite idées? Une erreur de code? (c'est mon premier script, jusqu'à présent le copier-coller depuis Internet fonctionnait bien
Je vous remercie.
Moutabix
 
	 
	 
 
		 
 
		 
 
		 
 
		