Apple Remote Desktop - Verwenden von AppleScript mit Remote Desktop

background image

Verwenden von AppleScript mit Remote Desktop

AppleScript ist eine leistungsstarke und vielseitige Skriptsprache, die in Mac OS X inte-
griert ist. Sie können mithilfe von AppleScript Kurzbefehle erstellen, sich wiederholende
Vorgänge automatisieren oder sogar angepasste Programme erstellen, mit denen Sie
viel Zeit sparen können. AppleScript ist eine dem Englischen ähnliche Sprache, mit der
Sie Skripts mit Befehlen erstellen können. Skripts können aufgrund von Benutzerein-
griffen oder durch das Untersuchen und Analysieren von Daten, Dokumenten oder
Situationen Entscheidungen treffen. Remote Desktop ist wie zahlreiche andere
Mac OS X-Programme skriptfähig und kann mit AppleScript-Befehlen gesteuert
werden. AppleScript ist eine umfassende Sprache mit bedingten Anweisungen, Ver-
gleichen und arithmetischen Operationen und der Fähigkeit, Variablen zu speichern.

Dieses Dokument enthält keine Angaben zur Sprachsyntax von AppleScript oder zu
Programmierverfahren. Informationen über die Programmierung mit AppleScript
finden Sie in der AppleScript-Online-Hilfe.

Dieser Abschnitt bietet eine kurze Beschreibung von AppleScript, eine kurze Erläute-
rung zur Verwendung des AppleScript-Funktionsverzeichnisses von Remote Desktop
sowie ein Demoskript.

background image

190

Kapitel 9

Automatisieren von Vorgängen

Grundlagen zu AppleScript in Remote Desktop

AppleScript-Skripts bestehen aus Befehlen, die an Objekte gesendet werden. Zu Objek-
ten zählen eine Vielzahl von Elementen, u. a. Programme, Skripts, Fenster, Einstellungen
oder der Finder. Diese Objekte können eine bestimmte Gruppe von Befehlen verarbei-
ten und dann die gewünschten Aktionen ausführen. Grundsätzlich weist ein Skript ein
Programm an (in diesem Fall Remote Desktop), entweder einen bestimmten Vorgang
abzuschließen oder Informationen abzurufen. Sie können dem Skript Funktionen zum
Treffen von Entscheidungen zuweisen, indem Sie bedingte Anweisungen verwenden.
Das Skript erhält Speicherfunktionen, indem Sie Variablen definieren.

Bei Remote Desktop sind alle grundlegenden Funktionen skriptfähig. Die Vorgänge,
die Sie als Administrator durch Zeigen und Klicken mit der Maus erledigen, können
alle anhand eines AppleScript-Skripts ausgeführt werden. Sie können z. B. Folgendes
ausführen:

 Informationen zu einem Computer abrufen oder einen Computer umbenennen
 Computer zu einer Liste hinzufügen
 Objekte kopieren oder installieren
 Einen Berichtsvorgang ausführen

Verwenden des AppleScript-Funktionsverzeichnisses von Remote Desktop

Jedes skriptfähige Programm enthält ein AppleScript-Funktionsverzeichnis – die Liste
der Objekte und Nachrichten, die ein Programm verarbeiten kann. Im Funktionsver-
zeichnis von Remote Desktop gibt es beispielsweise ein Objekt mit der Bezeichnung
„computer list“ (Computerliste), das folgenden Eintrag aufweist:

„computer list“ ist ein Objekt, das andere Objekte enthält (in diesem Fall Computer)
und über Eigenschaften wie eine ID (id) und einen Namen (name) verfügt. Bei einer
Abfrage kann dieses Objekt die Werte für die Eigenschaften zurückgeben (in Unicode-
Text wie angegeben). Sie können „id“ jedoch nicht im Skript ändern (die Kennzeich-
nung „r/o“ steht für „Nur Lesen“). Dieses Objekt kann von den Nachrichten oder „verbs“
in einem Skript beeinflusst werden.

computer list n [inh. item] : A list which holds computers.
ELEMENTS
contains computers; contained by application.
PROPERTIES
id (Unicode text, r/o) : The unique identifier (UUID) of the computer list.
name (Unicode text) : The name of the computer list.

background image

Kapitel 9

Automatisieren von Vorgängen

191

Das Funktionsverzeichnis enthält darüber hinaus auch so genannte „verbs“ oder
Nachrichten. Diese Nachrichten sind Befehle, die sich auf die Objekte im Funktions-
verzeichnis auswirken. Im Funktionsverzeichnis von Remote Desktop befindet sich
beispielsweise die Nachricht „add“, deren Eintrag wie folgt lautet:

Dieser Eintrag informiert Sie darüber, welche Funktion ausgeführt wird und auf welche
Objekte sich diese Funktion auswirkt. Die Bedeutung dieses Eintrags ist, dass Remote
Desktop einen bestimmten Computer zu einer Computerliste hinzufügen kann. Die
Objekte „computer“ und „computer list“ werden von „add“ beeinflusst.

Gehen Sie wie folgt vor, um auf das gesamte AppleScript-Funktionsverzeichnis für
Remote Desktop zuzugreifen:

1

Starten Sie den Skripteditor im Ordner „/Programme/AppleScript/“.

2

Wählen Sie „Ablage“ > „Funktionsverzeichnis öffnen“.

3

Wählen Sie das Programm „Remote Desktop“.

4

Klicken Sie auf „OK“.

Das AppleScript-Funktionsverzeichnis für Remote Desktop finden Sie auch in Anhang C
„AppleScript Remote Desktop-Funktionsverzeichnis“.

Beispiel eines AppleScript-Skripts

Dieses AppleScript-Skript könnte zum schnellen Aufräumen einer Gruppe von Compu-
tern verwendet werden. Zuerst werden die Computerbildschirme gesperrt, um Benut-
zereingriffe zu verhindern. Dann werden alle verbliebenen Objekte auf den derzeit
aktiven Schreibtischen der Client-Computer gelöscht. Schließlich werden die Papier-
körbe der Client-Computer geleert und die Bildschirmsperre wieder aufgehoben.

add v : Add a computer to a task.
add computer : The computer.

to computer list : The computer list (or task) to add the computer to.

background image

192

Kapitel 9

Automatisieren von Vorgängen

Dieses Skript ist nur für Demonstrationszwecke gedacht, und es besteht keine aus-
drückliche oder stillschweigende Gewährleistung hinsichtlich der Eignung dieses
Skripts für Ihre Umgebung. Zudem löscht dieses Demoskript Objekte auf den Ziel-
computern. Gehen Sie daher sehr umsichtig beim Ausführen dieses Skripts vor.

-- Übernehmen Sie die Steuerung der lokalen Version von Remote Desktop
tell application "Remote Desktop"

-- Legen Sie fest, mit welcher Liste dies ausgeführt werden soll, in

diesem Fall heißt die Liste "Classroom"

set these_computers to computer list "Classroom"

-- Legen Sie fest, welcher Text für gesperrte Bildschirme angezeigt werden

soll

set screen_message to "Bitte warten" as Unicode text

-- Erstellen Sie ein UNIX-Skript, das ein AppleScript-Skript auf den

entfernten Computern ausführt

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

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

-- Legen Sie die Parameter für das Sperren fest
set lock_task to make new lock screen task with properties {name:"Lock

Classroom", message:screen_message}

-- Führen Sie den Vorgang aus
execute lock_task on these_computers

-- Legen Sie die UNIX-Skriptparameter fest
set clean_task to make new send unix command task with properties

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

-- Führen Sie den Vorgang aus
execute clean_task on these_computers

-- Leeren Sie anschließend den Papierkorb
execute (make new empty trash task) on these_computers

-- Heben Sie dann die Bildschirmsperre auf
execute (make new unlock screen task) on these_computers

end tell

background image

Kapitel 9

Automatisieren von Vorgängen

193