Exécution de scripts via Envoyer une commande UNIX
Il existe deux types de scripts exécutables via la ligne de commande. Le premier type,
le plus répandu avec les lignes de commande, est le script shell. Un script shell est un
fichier contenant des commandes UNIX exécutées en séquence. Les scripts shell peu-
vent intégrer des procédures de programmation normales telles que les boucles, les
conditions et les variables. Ces scripts consistent en fichiers texte à fins de lignes UNIX.
Ils sont interprétés par le shell bash.
Le deuxième type de script que vous pouvez exécuter, et le plus répandu dans l’envi-
ronnement Mac OS X, est un script AppleScript. Les scripts AppleScript sont des fichiers
contenant des commandes proches de l’anglais utilisant le langage de programmation
AppleScript, qui sont créés à l’aide de l’application Éditeur de scripts.
L’exécution d’une commande UNIX en tant qu’utilisateur actuel échoue si l’ordinateur
cible se trouve dans la fenêtre de connexion car il n’y a pas d’utilisateur actuel à ce
stade. Vous pouvez utiliser l’utilisateur root pour les tâches en entrant root dans le
champ utilisateur spécifié de la zone de dialogue des tâches. Le compte root ne doit
pas nécessairement être activé sur l’ordinateur client pour spécifier l’utilisateur root.
Vous ne devez jamais utiliser
sudo
ou
su
pour effectuer des tâches en tant qu’utilisa-
teur root. Ces commandes sont interactives et attendent une entrée et une réponse de
votre script. Exécutez votre script en tant que root ou n’importe quel autre utilisateur.
Chapitre 8
Administration des ordinateurs clients
169
Exécution
de
scripts
shell
avec
Remote
Desktop
Les scripts shell peuvent être copiés puis exécutés. Si un script présente un certain
niveau de complexité ou ne peut être exprimé en une seule ligne, utilisez la fonction
Copier les éléments pour copier le fichier de script sur les ordinateurs clients, puis exé-
cutez-le via Envoyer une commande UNIX. Pour envoyer une commande constituée
d’une seule ligne, il suffit d’utiliser l’option Envoyer une commande UNIX.
Pour copier puis exécuter un script :
1
Préparez votre script et enregistrez-le.
Assurez-vous que votre script est enregistré en texte brut avec des sauts de ligne UNIX.
2
Ouvrez Remote Desktop.
3
Sélectionnez une liste d’ordinateurs dans la fenêtre de Remote Desktop.
4
Sélectionnez un ou plusieurs ordinateurs dans la liste d’ordinateurs sélectionnée.
5
Utilisez la commande Copier les éléments pour copier votre script sur les ordinateurs
clients.
Pour plus d’informations, consultez les rubriques « Copie de l’administrateur vers les
clients » à la page 125 et « Options de copie » à la page 124.
6
Après avoir copié le script, choisissez Gestion > Envoyer une commande UNIX.
7
Exécutez le script en tapant :
sh chemin du script
8
Cliquez sur Envoyer.
Exécution
de
scripts
AppleScript
avec
Remote
Desktop
Les scripts AppleScript peuvent être exécutés sur les ordinateurs clients de deux façons.
Ils peuvent être enregistrés et exécutés comme application ou envoyés en une seule
fois via la ligne de commande.
Pour en savoir plus sur AppleScript, consultez l’Aide AppleScript via Visualisation Aide
ou rendez-vous sur : www.apple.com/fr/applescript/.
Pour envoyer et exécuter un script AppleScript :
1
Enregistrez le script comme une application.
2
Ouvrez Remote Desktop.
3
Sélectionnez une liste d’ordinateurs dans la fenêtre de Remote Desktop.
4
Sélectionnez un ou plusieurs ordinateurs dans la liste d’ordinateurs sélectionnée.
5
Utilisez la commande Copier les éléments avec l’option Ouvrir les éléments, sélection-
née dans la zone de dialogue Copier les éléments.
Pour plus d’informations, consultez la rubrique « Options de copie » à la page 124.
170
Chapitre 8
Administration des ordinateurs clients
Pour
exécuter
un
script
AppleScript
à
l’aide
de
l’option
Envoyer
une
commande
UNIX
:
Cette méthode utilise la commande
osascript
. Consultez la page man
osascript
pour
plus d’informations.
1
Sélectionnez une liste d’ordinateurs dans la fenêtre de Remote Desktop.
2
Sélectionnez un ou plusieurs ordinateurs dans la liste d’ordinateurs sélectionnée.
3
Choisissez Gestion > Envoyer une commande UNIX.
4
Tapez le script ou collez-le dans la fenêtre de commande UNIX, de la manière suivante :
osascript -e ’première ligne du script’ -e ’ligne suivante du script’ [ -e ... ]
Vous pouvez également utiliser une redirection UNIX « lire l’entrée standard »,
qui ressemble à ceci :
osascript <<EndOfMyScript
...insérer script ici...
EndOfMyScript
Par exemple, voici un script simple pour créer un dossier et définir son nom :
osascript <<EndOfMyScript
tell the application "Finder"
make new folder
set the name of the result to "New Folder"
set the label index of folder "New Folder" to 2
end tell
EndOfMyScript
5
Cliquez sur Envoyer.
L’ordinateur client exécute le script.