Précédent   Forum du club des développeurs et IT Pro > Systèmes > Mac > AppleScript
AppleScript Forum d'entraide sur le langage de Scripting AppleScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 18/12/2012, 16h09   #1
Rouscaille
Invité de passage
 
Étudiant
Inscription : décembre 2012
Messages : 2
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : décembre 2012
Messages : 2
Points : 0
Points : 0
Par défaut Automatiser des réglages de préférences système au démarrage, A L'aide!!!

Bonjour!

Étant un gros newbie sur apple je cherche un peu d'aide.
Mon problème est de configurer au démarrage d'une session une configuration de reseau. J'ai deux configurations:
-Automatique
-désactivée

Je voudrait configurer le mode désactivée à l'ouverture de mon compte Administrateur et configurer le mode Automatique à l'ouverture de ma session courante.

J'arrive a ouvrir le bon panneau avec applescript mais c'est tout.

Tell application "System Preferences"
set current pane to pane id "com.apple.preference.network"
activate
End tell

Si vous avez la suite je me sortirais d'une bien grande difficultée!
Merci!
Rouscaille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2012, 22h41   #2
PBELL
Membre habitué
 
Homme Philippe
Directeur de projet
Inscription : septembre 2010
Messages : 57
Détails du profil
Informations personnelles :
Nom : Homme Philippe
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 : 57
Points : 126
Points : 126
Par défaut réglages de préférences système au démarrage

Bonsoir Rouscaille,
les préf système ne sont pas accessibles avec des commandes standard. il faut simuler l'action de l'utilisateur.
Dans ton cas, ouvrir le panneau préférences réseau comme tu le fais, puis simuler le click utilisateur sur le pop up menu de configuration.
Attention cependant, ce code n'est valable que pour un panneau de préférence précis. Ici je suis en Snow Leopard et cela fonctionne sur Tiger. je ne connais pas le panneau sur Lion, mais le principe restera identique :

Le petit bout de code ci-dessous change la config réseau entre automatique et une seconde valeur définie dans le menu (sans doute "désactivé" dans ton cas)

Il lit d'abord la valeur du pop up menu et simule une flèche vers le haut ou le bas selon que la valeur est déjà la première ("Automatique" ou la seconde).

Tu dois l'adapter pour lire la valeur et déterminer l'action à faire (rien ou une flèche) selon que le script est lancé par tel ou tel utilisateur.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
tell application "System Events"
	tell application "System Preferences"
		set current pane to pane "com.apple.preference.network"
		activate
	end tell
	tell application process "System Preferences"
		set Actuel to get value of first pop up button of window 1
		click first pop up button of window 1
		-- je suppose que le menu est d'abord Automatique et en dessous le second mode désactivé
		if Actuel = "Automatique" then
			key code 125 -- flèche vers le bas pour choisir le second item
		else
			key code 126 -- flèche vers le haut pour choisir le 1er item (Automatique !)
		end if
		keystroke return
	end tell
end tell
Cordialement
PBELL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 12h16   #3
Rouscaille
Invité de passage
 
Étudiant
Inscription : décembre 2012
Messages : 2
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : décembre 2012
Messages : 2
Points : 0
Points : 0
Merci PBELL!

je commence à entrevoir le bout du tunnel, le script fonctionne, malheureusement une authentification est nécéssaire sur les comptes non administrateurs, j'ai donc pensé soit rajouter un "automator" qui va cliquer en haut de mon écran sur l'icone wifi puis désactiver wifi, mais je trouve ça un peu moche comme solution, un script me parait plus fiable. j'ai alors pensé cliquer sur le bouton "désactiver wifi" si il est disponible dans la configuration automatique. mais je ne sais pas comment on connais le "numéro" d'un boutton ni même ce qui défini un "button" par exemple

click third button

c'est le troisième à partir d'où??
photo de mon panneau de config réseau.


je ne sais pas si je suis dans le vrais mais quelque chose comme:

tell application "System Events"
tell application "System Preferences"
set current pane to pane "com.apple.preference.network"
activate
end tell
tell application process "System Preferences"
set Actuel to get value of (?) button of window 1
if Actuel = "désactiver wifi"
then click (?) button
end if
click first button --qui correspond à la fermeture de la fenêtre (ça j'ai trouvé!!)
end tell
end tell
si j'avais un tuto avec comment reconnaitre un "button" un "pop up button" et autre "scroling machinchose" et connaitre leur "adresse" ça me permetrer de créer des scripts pour pas mal de paramêtres (en sachant que je ne modifierais que ceux qui sont sans besoin d'authentification, je ne veux pas mettre dans un script sur ma machine le mot de passe administrateur!)
en tout cas le language applescript à l'air bien sympa!
Rouscaille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2013, 09h58   #4
PBELL
Membre habitué
 
Homme Philippe
Directeur de projet
Inscription : septembre 2010
Messages : 57
Détails du profil
Informations personnelles :
Nom : Homme Philippe
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 : 57
Points : 126
Points : 126
Par défaut boutons et windows

Bonjour Rouscaille,
Tout d'abord, je te souhaite une excellente année 2013 !

Pour connaître les éléments d'une fenêtre, il suffit de demander à AppleScript de les compter et de donner leur nom dans une boucle, comme ci-dessous :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
tell application "System Events"
	tell application "System Preferences"
		set current pane to pane "com.apple.preference.network"
		activate
	end tell
	tell application process "System Preferences"
		set N to count of buttons of window 1
		display dialog "nombre=" & N
		repeat with I from 1 to count of buttons of window 1
			set Actuel to get button I of window 1
			set T to description of Actuel
			display dialog "element " & I & " = " & description of Actuel & return & "Name=" & (name of Actuel as string) & return & "Title=" & (title of Actuel as string)
		end repeat
	end tell
end tell
Note : je me limite ici aux boutons. pour tout lister, il faut remplacer "button" par UI Element

En exécutant ce script, il va t'afficher d'abord le nombre de boutons, puis, pour chaque, sa description et son nom. A toi de jouer ensuite.

J'en profite aussi pour te signaler que les changements de configuration de réseau peuvent peut être aussi se faire via system Events en jouant avec la "Network Preferences Suite".
Pour voir ce qui s'y rapporte, dans l'éditeur AppleScript, ouvre la fenêtre Bibliothèque, double click sur System Events et, dans la nouvelle fenêtre, click sur Network Preferences Suite. tu y trouves les configurations, les interfaces,... cela peut aussi être une piste possible.

Cordialement
PBELL est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h21.


 
 
 
 
Partenaires

Hébergement Web