Apple Remote Desktop - Utilisation d’AppleScript avec Remote Desktop

background image

Utilisation d’AppleScript avec Remote Desktop

AppleScript est un langage de script puissant et polyvalent intégré à Mac OS X. Vous
pouvez utiliser AppleScript pour créer des raccourcis, automatiser des tâches répétiti-
ves et même créer des applications personnalisées qui vous permettront de gagner
beaucoup de temps. AppleScript est un langage basé sur l’anglais, que vous pouvez
utiliser pour écrire des scripts contenant des commandes. Les scripts peuvent prendre
des décisions basées sur l’interaction utilisateur, ou en analysant les données, les docu-
ments et les situations. Remote Desktop peut faire l’objet de scripts, tout comme nom-
bre d’autres applications Mac OS X, et il peut être contrôlé par l’intermédiaire de
commandes AppleScript. AppleScript est un langage complet avec des instructions
conditionnelles, des opérations de comparaison et arithmétiques, ainsi que la possibi-
lité de stocker des variables.

Cette documentation n’apprend pas la syntaxe du langage AppleScript, ni les méthodes
de programmation. Pour plus d’informations sur la programmation avec AppleScript,
consultez l’aide en ligne d’AppleScript.

Cette section décrit brièvement AppleScript et l’utilisation du dictionnaire AppleScript
de Remote Desktop et fournit un exemple de script.

background image

186

Chapitre 9

Tâches d’automatisation

Les bases du langage AppleScript pour Remote Desktop

Les scripts AppleScript sont constitués de commandes envoyées aux objets. Les objets
peuvent être de différents types : applications, scripts, fenêtres, réglages ou Finder. Ces
objets peuvent recevoir un ensemble spécifique de commandes et répondre avec les
actions souhaitées. Pour l’essentiel, un script indique à une application (Remote Desk-
top dans le cas présent) d’effectuer une certaine tâche ou d’extraire des informations.
Vous pouvez conférer au script des fonctionnalités de décision en utilisant des instruc-
tions conditionnelles. Vous pouvez également lui conférer une mémoire en définissant
des variables.

Toutes les fonctions fondamentales de Remote Desktop peuvent faire l’objet de scripts.
Les tâches que vous effectuez en tant qu’administrateur en pointant et en cliquant
peuvent toutes être accomplies via l’exécution d’un script AppleScript. Par exemple,
vous pouvez :
Â

obtenir des informations sur un ordinateur ou le renommer ;

Â

ajouter des ordinateurs à une liste ;

Â

copier ou installer des éléments ;

Â

exécuter une tâche de création de rapport.

Utilisation du dictionnaire AppleScript de Remote Desktop

Chaque application pouvant faire l’objet d’un script contient un dictionnaire AppleScript,
qui comprend la liste des objets et messages que l’application peut comprendre.
Par exemple, dans le dictionnaire de Remote Desktop, il existe un objet nommé « liste
d’ordinateurs » contenant l’entrée suivante :

Une « liste d’ordinateurs » est un objet contenant d’autres objets (des ordinateurs dans
le cas présent) et qui présente des propriétés telles que son ID et son nom. Lorsqu’il est
interrogé, cet objet peut renvoyer les valeurs des propriétés (au format Unicode comme
indiqué), mais vous ne pouvez pas modifier « id » à partir du script (r/o indique lecture
seule). Cet objet peut faire l’objet d’actions via les « verbes » ou messages d’un script.

computer list n [inh. item] :liste avec les ordinateurs.
ÉLÉMENTS
contient des ordinateurs ; contenu par application.
PROPRIÉTÉS
id (Unicode text, r/o) :identificateur unique (UUID) de la liste d’ordinateurs.
name (Unicode text) :nom de la liste d’ordinateurs.

background image

Chapitre 9

Tâches d’automatisation

187

Le dictionnaire contient également les « verbes », ou messages. Ces verbes sont des
commandes qui agissent sur les objets du dictionnaire. Par exemple, dans le diction-
naire de Remote Desktop, il existe un verbe nommé « add », dont voici l’entrée :

Cette entrée indique sur quoi le verbe peut agir, et comment. Elle indique que Remote
Desktop peut ajouter un ordinateur spécifié à une liste d’ordinateurs. Les objets
« ordinateur » et « liste d’ordinateurs » peuvent faire l’objet d’actions via « add ».

Pour accéder au dictionnaire complet d’AppleScript pour Remote Desktop :

1

Lancez l’éditeur de script dans le dossier /Applications/AppleScript/.

2

Sélectionnez Fichier > Ouvrir le dictionnaire.

3

Choisissez Remote Desktop.

4

Cliquez sur OK.

Le dictionnaire AppleScript pour Remote Desktop est également disponible dans
annexe C, « Suite AppleScript Remote Desktop. »

Exemple de script AppleScript

Ce script AppleScript peut être utilisé pour effectuer un nettoyage rapide d’un groupe
d’ordinateurs. Il commence par verrouiller l’écran des ordinateurs afin d’éviter toute
interférence. Ensuite, il supprime tous les éléments qui restent sur les bureaux actuelle-
ment actifs des ordinateurs clients. Enfin, il termine en vidant la corbeille des clients et
en déverrouillant les écrans.

Ce script est fourni à titre d’information uniquement et aucune garantie n’est fournie
quant à l’adaptation de ce script à votre environnement informatique. En outre, cet
exemple de script supprime les éléments sur les ordinateurs cible. Utilisez ce script sous
votre responsabilité.

-- début de contrôle de la copie locale de Remote Desktop
tell application "Remote Desktop"

-- détermination de la liste concernée, nommée « Classroom » dans le cas

présent

set these_computers to computer list « Classroom »

-- détermination du texte à afficher sur l’écran verrouillé
set screen_message to "Please wait" as Unicode text

-- créer un script UNIX qui exécute un script AppleScript sur les ordina-

teurs distants

set the UNIX_script to "osascript -e ’tell application \"Finder\" to

delete every item of the desktop whose class is not disk’"

add v :ajouter un ordinateur à une tâche.
add computer :l’ordinateur.

to computer list :liste d’ordinateurs (ou tâche) à laquelle ajouter l’ordinateur.

background image

188

Chapitre 9

Tâches d’automatisation

-- définition des paramètres de tâche de verrouillage
set lock_task to make new lock screen task with properties {name:"Lock

Classroom", message:screen_message}

-- exécution de la tâche
execute lock_task on these_computers

-- définition des paramètres du script UNIX
set clean_task to make new send unix command task with properties

{name:"Clean Desktop", showing output:false, script:UNIX_script}

-- exécution de la tâche
execute clean_task on these_computers

-- vidage de la corbeille
execute (make new empty trash task) on these_computers

-- déverrouillage de l’écran
execute (make new unlock screen task) on these_computers

end tell