Zeige letzte Bearbeiter
1 {{aagon.priorisierung}}
2 1
3 {{/aagon.priorisierung}}
4
5 {{aagon.floatingbox/}}
6
7 In der Menüleiste des Client Command Editor finden Sie einige grundlegende Einstellungen zum Editor selbst, wie auch zum aktuell geladenen Client Command. Als Einträge sind Projekt, Ansicht sowie Fenster in der Menüleiste zu finden.
8
9 === Projekt ===
10
11 Im Menüpunkt Projekt haben Sie grundsätzlich die Möglichkeiten, das aktuell geladene Client Command zu Speichern und den Editor zu Schließen. Des Weiteren können Sie hier die [[Eigenschaften>>doc:||anchor="HEigenschaften"]] des Client Command editieren. Ebenso können Sie die ACMP–Variablen editieren. Lesen Sie hierzu mehr den Abschnitt [[Variablen>>doc:||anchor="HVariablenbearbeiten"]].
12
13 === Ansicht ===
14
15 Über das Menü Ansicht lassen sich verschiedene Bereiche des Editors ab- und auch wieder zuschalten. Ebenso lässt sich angeben, welche Spalten im Skript – Bereich angezeigt werden sollen.
16 Zusätzlich lässt sich ein Kompatibilitätsmodus einschalten. Auf diese Weise lassen sich gezielt Client Commands ausblenden, die nicht zu einer bestimmten Windows Version kompatibel sind.
17 Mit dem Menüpunkt Sprache können Sie die Anzeigesprache der verfügbaren Befehle von englisch auf deutsch umstellen. Die Standardansichtssprache ist englisch.
18
19 === Fenster ===
20
21 Über das Menü Fenster lässt sich die Anordnung der verschiedenen Bereiche ändern. Weiterhin können Sie zwischen mehreren geöffneten Commands umschalten.
22
23 = Eigenschaften =
24
25 In den Eigenschaften eines Client Command können Sie allgemeine Informationen hinterlegen, wie auch bestimmte Optionen und Bedingungen für das Client Command setzen. Allgemeine Informationen beziehen sich dabei auf das gesamte Client Command, wohingegen die Informationen Allgemeine Version und Bedingungen nur eine bestimmte Version des Client Command betreffen.
26
27 == Allgemein ==
28
29 Unter Allgemein können Sie den Namen des Client Command angeben, sowie die Client Command-ID einsehen. Zusätzlich werden das Erstelldatum und das Datum der letzten Änderung angezeigt.
30
31 == Optionen ==
32
33 Unter Optionen können Sie das Client Command zur interaktiven Benutzung freigeben, was dem User eines Clients gestattet, dieses Client Command selbstständig über den Command Launcher auszuführen. Wenn Sie das Client Command als QuickCommand anzeigen lassen, können Sie es über das Kontextmenü einer Abfrage der Abfrageverwaltung ausführen (siehe [[Jobs ausführen>>doc:ACMP.63.ACMP-Solutions.Client Commands.Jobs ausführen.WebHome]]). Zusätzlich können Sie sich das Client Command direkt in Abfrageergebnissen anzeigen lassen. Markieren Sie dazu nur den entsprechenden Punkt Im Ribbon Tap "Abfrageaktionen" anzeigen in den Optionen.
34
35 Ab ACMP 4.0 lassen sich Client Commands parallel ausführen. Auf diese Weise wird verhindert, dass langlaufende Client Commands die Ausführung von kurzen Client Commands blockieren. Das bedeutet, dass grundsätzlich nicht alle Client Commands parallel laufen soll. Entsprechende Client Commands müssen explizit als parallel lauffähig in den Optionen markiert werden.
36
37 Es müssen jedoch einige Faktoren bei der parallelen Ausführung von Client Commands beachtet werden. Zunächst muss sichergestellt werden, dass Client Commands, die auf die gleichen Ressourcen (z.B. Dateien, Prozesse) zugreifen, nicht als parallel ausführbar markiert werden. Deshalb sollte speziell die parallele Ausführung von MSI-Installationen vermieden werden.
38
39 Client Commands werden parallel ausgeführt, unabhängig davon, ob sie manuell oder automatisch über einen Client Task gestartet worden sind. Auch werden parallele Client Commands ausgeführt, wenn bereits ein nicht parallelfähiges Client Command ausgeführt wird. Um zu verhindern, dass zwei Client Commands auf die selbe Resource zugreifen, darf also keines der beiden als parallelfähig markiert sein.
40
41 {{aagon.infobox}}
42 ACMP beschränkt weder die Anzahl der parallel laufenden Client Commands, noch wird eine Überprüfung der Client Commands vorgenommen. Es muss also sichergestellt werden, dass nicht gleichzeitig auf die selben Ressourcen zugegriffen wird.
43 {{/aagon.infobox}}
44
45 {{figure}}
46 (% style="text-align:center" %)
47 [[image:63_ClientCommands_ClientCommandEditor_Menüleiste_667.png]]
48
49 {{figureCaption}}
50 Client Command Optionen
51 {{/figureCaption}}
52 {{/figure}}
53
54 Als Log-Optionen können Sie angeben, ob generell ein Log gespeichert werden soll. Über die DropDown-Liste Erweitertes Log speichern können Sie angeben, welche Daten geloggt werden sollen. Zusätzlich gibt es noch die DropDown-Liste ACMP Console Log anzeigen, über welche ausgewählt werden kann, wann ein Log der Console angezeigt wird.
55
56 == Sicherheit ==
57
58 Unter Sicherheit haben Sie die Möglichkeit, das Client Command durch ein Passwort zu schützen, so dass es von keiner weiteren Person editiert werden kann. Weiterhin können Sie bestimmten Usern und Gruppen Rechte an diesem Client Command erteilen oder entziehen. Dies funktioniert ebenso wie das Sicherheitsmanagement bei Abfragen (siehe [[Sicherheit>>doc:ACMP.63.ACMP-Solutions.Client-Management.Abfrageverwaltung.Abfragen erstellen.WebHome]]).
59
60 {{aagon.infobox}}
61 Das Passwort können Sie wieder entfernen, indem Sie ein leeres Passwort festlegen.
62 {{/aagon.infobox}}
63
64 == Icon ==
65
66 Unter Icon können Sie ein spezielles Icon für Ihr Client Command wählen. Dazu können Sie auch ein neues Icon hinzufügen oder bestehende Icons editieren bzw. löschen. Als Formate für eigene Icons werden *.bmp-und *.ico-Dateien mit 16x16 Pixeln unterstützt. Das neue Icon wird in die ACMP integriert. Wird kein Icon ausgewählt, wird das Standardicon für Client Commands gesetzt.
67
68 == Info ==
69
70 Unter Info können Sie den Firmennamen bzw. den Ersteller des Client Commands, sowie eventuelle Markenzeichen eintragen.
71
72 == Kommentare ==
73
74 Unter Kommentare können Sie einen beliebigen Text als Kommentar zum Client Command eintragen. Dabei werden die Kommentare intern im Client Command gespeichert, wodurch sich eine Chronik ergibt, durch welche z.B. Änderungen nachvollzogen werden können.
75
76 == Version allgemein (Versionsspezifisch) ==
77
78 Unter Version allgemein können Sie eine Beschreibung hinterlegen und das Level des erhöhen. Diese Angaben beziehen sich dabei allerdings nur auf die aktuelle Version des Client Command, von der Sie diese Eigenschaften aufgerufen haben.
79
80 {{figure}}
81 (% style="text-align:center" %)
82 [[image:63_Solution_Bildbeschreibung_677.png]]
83
84 {{figureCaption}}
85 Bedingungen eines Client Commands
86 {{/figureCaption}}
87 {{/figure}}
88
89 Der Level dient dazu, dass ein Client Command u.a. im CommandLauncher so angezeigt wird, als wäre es noch nicht ausgeführt worden. Ebenso werden Client Commands erneut ausgeführt, welche einem Container mit der Option "Einmalig ausführen" zugewiesen wurden (siehe [[Client Commands>>doc:ACMP.63.ACMP-Solutions.Client-Management.Container.Die Detailansicht.WebHome]]).
90
91 {{aagon.infobox}}
92 Das Level dient der Abwärtskompatibilität zu älteren ACMP Versionen. Verwenden Sie bitte die Versionierung, um eine neue Version eines Client Commands zu erstellen.
93 {{/aagon.infobox}}
94
95 == Bedingungen ==
96
97 Unter Bedingungen können Sie zusätzliche Bedingungen angeben, welche bei der Ausführung des Commands berücksichtigt werden sollen. Dazu ziehen Sie eine Condition von der linken Seite per Drag&Drop auf die rechte Seite auf die ODER- bzw. die UND-Bedingung. Dies ist ähnlich den Filtern, welche bei einer Abfrage gesetzt werden können. So benötigen Sie mindestens zwei Bedingungen, damit diese Einstellungen Sinn machen. Sie können die Bedingungen auch verschachteln, so dass eine Bedingung z.B. nach dem Muster X ODER (Y UND Z) entsteht. Ziehen Sie z.B. eine Bedingung auf eine bereits bestehende UND-Bedingung, so werden diese beiden Bedingungen in den Kontext mit einer ODER-Bedingung gesetzt. Bedingungen können für jede Version eines Client Command angepasst werden.
98
99 Im Folgenden werden die verschiedenen Conditions genauer erläutert:
100
101 |**Conditions**|**Bedingung**
102 |**Is CPU speed**|Mit dieser Bedingung können Sie den CPU-Takt überprüfen. Dazu stehen Ihnen die mathematischen Operatoren zur Verfügung wozu Sie noch den passenden Takt in Hz (Hertz) angeben.
103 |**Is file date**|Mit dieser Bedingung können Sie das Änderungsdatum einer Datei überprüfen. Dazu stehen Ihnen die mathematischen Operatoren zur Verfügung wozu Sie noch die passende Datei auswählen und das Änderungsdatum im Format dd.mm.yy hh:mm:ss angeben.
104 |**Is file version**|Mit dieser Bedingung können Sie die Dateiversion überprüfen. Dazu stehen Ihnen die mathematischen Operatoren zur Verfügung wozu Sie noch die passende Datei auswählen und die Dateiversion angeben. Nur ausführbare Dateien haben eine Versionsnummer.
105 |**If machine is in domain**|Mit dieser Bedingung können Sie prüfen, ob ein Client zur angegebenen Domain gehört. Dazu geben Sie einfach eine Domain an. Der Button neben dem Eingabefeld listet Ihnen dazu alle verfügbaren Domains auf.
106 |**Is logon user**|Mit dieser Bedingung können Sie überprüfen, ob ein bestimmter Benutzer am Client angemeldet ist. Klicken Sie auf den Button rechts neben dem Eingabefeld und es werden Ihnen alle vorhandenen und bekannten User einer Domain aufgelistet. Markieren Sie einen entsprechenden User und klicken Sie auf Hinzufügen. Wenn Sie alle nötigen User hinzugefügt haben klicken Sie auf OK.
107 |**If registry value name exists**|Mit dieser Bedingung können Sie überprüfen, ob ein bestimmter Schlüssel der Registry existiert und einen bestimmten Wert besitzt. Geben Sie dazu aus dem DropDown – Feld den Hauptschlüssel und anschließend den Unterschlüssel an. Den Wert tragen Sie ebenfalls ein.
108 Über den Button unter den Eingabefeldern öffnet Sich ein Registryeditor, womit Sie einen Schlüssel direkt auswählen können.
109 |**If command has been executed**|Mit dieser Bedingung können Sie überprüfen, ob ein bestimmtes ClientCommand zuvor ausgeführt wurde. Weiterhin können Sie überprüfen, ob das Client Command die richtige Version besaß. In der Dropdown Box haben sie die Möglichkeit, das Prüfverhalten zu wählen. Hier stehen ihnen die Optionen "Automatic", "Machine and User", "Only User" und "Only Machine" zur Auswahl.
110 |**Is RAM capacity**|Mit dieser Bedingung können Sie den freien Arbeitsspeicher überprüfen. Dazu stehen Ihnen die mathematischen Operatoren zur Verfügung wozu Sie noch die Größe des RAM angeben.
111 |**Is free disk space**|Mit dieser Bedingung können Sie den freien Speicher einer Partition der Festplatte überprüfen. Dazu stehen Ihnen die mathematischen Operatoren zur Verfügung wozu Sie noch die Größe des Speichers sowie die Partition angeben.
112 |**If directory exists**|Mit dieser Bedingung können Sie überprüfen, ob ein bestimmtes Verzeichnis existiert. Dazu geben Sie einfach das entsprechende Verzeichnis an.
113 |**If file exists**|Mit dieser Bedingung können Sie überprüfen, ob eine bestimmte Datei existiert. Dazu geben Sie die entsprechende Datei.
114 |**Is user in group**|Mit dieser Bedingung können Sie überprüfen, ob der am Client angemeldete Benutzer in einer bestimmte Gruppe der Domain ist. Klicken Sie auf den Button rechts neben dem Eingabefeld und es werden Ihnen alle vorhandenen Gruppen einer Domain aufgelistet, Markieren Sie eine Gruppe und klicken Sie auf Hinzufügen. Wenn Sie alle nötigen Gruppen hinzugefügt haben klicken Sie auf OK.
115 |**If registry key exists**|Mit dieser Bedingung können Sie überprüfen, ob ein bestimmter Schlüssel der Registry existiert. Geben Sie dazu aus dem DropDown – Feld den Hauptschlüssel und anschließend den Unterschlüssel an. Über den Button unter den Eingabefeldern öffnet Sich ein Registryeditor, womit Sie einen Schlüssel direkt auswählen können.
116 |**If ADS container / Property match**|Mit dieser Bedingung können Sie überprüfen, ob der aktuelle Benutzer bzw. der Client in einem bestimmten ActiveDirectory – Container liegt oder eine bestimmte Eigenschaft besitzt. Um die AD – Container bzw. die Eigenschaften auszuwählen, klicken Sie auf den Button rechts neben dem Eingabefeld.
117 |**Is user local admin**|Mit dieser Bedingung können Sie überprüfen, ob der angemeldete Benutzer lokale Administratorrechte besitzt.
118 |**Is operating system**|Mit dieser Bedingung können Sie überprüfen, ob das Betriebssystem eine bestimmte Version besitzt, z.B. Windows XP oder Windows 8. Wählen Sie dazu einfach die passende Version aus dem DropDown–Feld.
119 |**Is machine name**|Mit dieser Bedingung können Sie überprüfen, ob der Rechnername gleich einem angegebenen Namen ist. Dazu klicken Sie auf den Button rechts neben dem Eingabefeld. Dort werden Ihnen alle Rechner einer Domain aufgelistet. Klicken Sie auf den Button darunter, werden ihnen nur Rechner aufgelistet, welche im ACMP inventarisiert sind.
120 |**Is in container**|Mit dieser Bedingung können Sie überprüfen, ob der inventarisierte Rechner in einem bestimmten Container (siehe 6. Containers) liegt. Markieren Sie dazu die entsprechenden Container.
121 |**Compare strings**|Mit dieser Bedingung können Sie überprüfen, ob zwei Zeichenketten gleich sind. So können Sie z.B. als erste Zeichenkette eine ACMP – Variable eingeben und als zweite Zeichenkette einen bestimmten Wert. Variablen werden im Format %Variablenname% angegeben. Variablen finden Sie unter dem Punkt Variablen editieren im Menüpunkt Programm.
122
123 = Variablen bearbeiten =
124
125 Variablen dienen dazu, bestimmte Werte zu speichern. Dabei gibt es Projekt-, Console-, System- und globale ACMP Variablen. Diese unterscheiden sich in der Verwendung:
126
127 |(% style="width:84px" %)(((
128 (% style="text-align:center" %)
129 [[image:https://manual.aagon.com/acmp/de/61/variable_project.png||alt="Variable_Project" height="32" width="32"]]
130 )))|(% style="width:1280px" %)(((
131 Diese Variablen bestehen nur in dem aktuellen Projekt und können nicht in anderen Projekten genutzt werden.
132 )))
133 |(% style="width:84px" %)(((
134 (% style="text-align:center" %)
135 [[image:https://manual.aagon.com/acmp/de/61/variable_global.png||alt="Variable_Global" height="32" width="32"]]
136 )))|(% style="width:1280px" %)(((
137 Diese Variablen stehen im gesamten ACMP–Umfeld zur Verfügung und können in allen Projekten genutzt werden, müssen jedoch explizit angelegt werden.
138 )))
139 |(% style="width:84px" %)(((
140 (% style="text-align:center" %)
141 [[image:https://manual.aagon.com/acmp/de/61/variable_system.png||alt="Variable_System" height="32" width="32"]]
142 )))|(% style="width:1280px" %)(((
143 Diese Variablen beschreiben das aktuelle System, auf welchem das Client Command ausgeführt werden soll. So lassen sich einfach Rechnerbezogene Werte auslesen (Name, Verzeichnisse, Betriebssystem). Diese Variablen können nur gelesen werden.
144 )))
145 |(% style="width:84px" %)(((
146 (% style="text-align:center" %)
147 [[image:https://manual.aagon.com/acmp/de/61/variable_quickcommand.png||alt="Variable_QuickCommand" height="32" width="32"]]
148 )))|(% style="width:1280px" %)
149 Diese Variablen beschreiben Eigenschaften der Console und können nur gelesen werden.
150
151 {{figure}}
152 (% style="text-align:center" %)
153 [[image:63_ClientCommand_Variablenbearbeiten_668.png]]
154
155 {{figureCaption}}
156 Projektvariablen bearbeiten
157 {{/figureCaption}}
158 {{/figure}}
159
160 Variablen können auch direkt mit der Schreibweise %VARIABLENAME% verwendet werden. Auf diese Weise wird bei der Ausgabe direkt der Inhalt der Variablen eingefügt.
161
162 {{aagon.infobox}}
163 Falls eine Variable nicht aufgelöst werden soll, verwenden Sie folgende Schreibweise:%%VARIABLENAME%%
164 {{/aagon.infobox}}
165
166 Auf diese Weise wird nicht der Inhalt der Variable, sondern der Name der Variablen angezeigt. Beachten Sie außerdem, dass das %-Zeichen bei normaler Verwendung immer mit einem weiteren vorangestellten %-Zeichen geschrieben wird. Somit wird verhindert, dass ACMP versucht den Text als Variable zu interpretieren.
167
168 Dies ist besonders wichtig, wenn Sie [[Execute batch-file command>>doc:ACMP.64.ACMP-Solutions.Client Commands.Client Command erstellen.Client Commands neu hinzufügen.Client Command Editor.Commandlist.Processes and Shell.WebHome||anchor="HExecutebatch-filecommand"]] oder ähnliche Kommandos verwenden, in denen Sie Quellcode angeben. Achten Sie darauf alle %-Zeichen, zu escapen, da ansonsten das Skript nicht korrekt interpretiert und ausgeführt wird. Hierzu zählen insbesondere Variablen in Shellskripten, wie z.B.:
169
170 {{code language="none"}}
171 FOR %%i IN %%list DO (
172
173    echo %%i
174
175 )
176
177 {{/code}}
178
179 Um obenstehende Beispiel zu erhalten, geben Sie folgenden Quellcode an:
180
181 {{code language="none"}}
182 FOR %%%%i IN %%%%list DO (
183
184    echo %%%%i
185
186 )
187 {{/code}}
188
189 Über das Menü Projekt im Client Command Editor erreichen Sie die Option Variablen editieren. Dort finden Sie alle ACMP Variablen (Name) mit Ihrem aktuellen Wert und einer Option, welche angibt, ob die Variable veränderbar (Beschreibbar) ist.
190
191 Um eine neue Variable hinzuzufügen, tragen Sie den Variablennamen und eventuell einen Standartwert ein. Über den +-Button rechts neben dem Variablennamen fügen Sie die Variable den ACMP Variablen hinzu und können diese in Ihren Commands nutzen.
192
193 Bei der Erstellung von Funktionen (siehe [[Funktionen verwalten>>doc:ACMP.64.ACMP-Solutions.Client Commands.Client Command erstellen.Werkzeuge.WebHome||anchor="HFunktionen"]]) gibt es zusätzlich die Möglichkeit, eine Variable als Parameter zu markieren. Solche Variablen können dynamisch mit Werten belegt werden.
194
195 Falls Sie auf den Button rechts neben der Eingabe für den Standardwert klicken, wird der eingegebene Wert als aktueller Wert für die markierte Variable gesetzt. So können Sie z.B. einen Startwert und einen Standardwert (Ersatzwert) wählen.
196
197 {{aagon.infobox}}
198 Seit ACMP 4.0 enthält die Systemvariable LOGGEDONUSER_NAME den Wert 'SYSTEM', falls kein Benutzer auf dem Client angemeldet ist.
199 {{/aagon.infobox}}
200
201 == Nutzung von Variablen ==
202
203 Variablen können Werte an Kommandos übergeben oder als Ergebnisvariablen agieren, deren Inhalt in den folgenden Kommandos wiederum Werte übergibt. Sie können Variablenwerte in Ihren Client Commands ändern, indem Sie die Funktionen Set projekt variables nutzen. Handelt es sich um Variablen mit einem Zahlenwert, z.B. eine Zählvariable in einer Schleife, kann der Wert erhöht oder verringert werden, indem die Kommandos Increase Variable bzw. Decrease Variable genutzt werden.
204
205 Enthält eine Variable eine Pfadangabe, sollten Sie überprüfen, ob die Pfadangabe mit oder ohne Backslash endet. Dies ist wichtig, falls Sie die Pfadangabe manuell um eine Unterorderstruktur erweitern, wie z.B. %windir%\system32\calc.exe. Dabei schließen ACMP-interne Pfadangaben immer mit einem Backslash ab, wohingegen Umgebungsvariablen des Betriebssystems nicht immer einen abschließenden Backslash enthalten. Wenn Sie sich nicht sicher sind, können Sie automatisch einen abschließenden Backslash einbinden, indem Sie ein Delphi Skript mit folgendem Inhalt in ein Client Command oder eine Funktion einfügen:
206
207 {{code language="none"}}
208  Var
209
210       CurrentVarContent, NewVarContent: String;
211
212  Begin
213
214       CurrentVarContent := GetVarContent(‘Name der zu prüfenden Variable‘);
215
216       CurrentVarContent := IncludeTrailingPathDelimiter(CurrentVarContent);
217
218       GetVarContent(‘Name der zu prüfenden Variable‘, CurrentVarContent);
219
220  End
221 {{/code}}
222
223 Wenn Sie eine Variable in einem Kommando eintragen wollen, erreichen Sie eine Auflistung aller verfügbaren Variablen, indem Sie die Tastenkombination Strg + Leertaste verwenden. Falls Sie Variablen per Hand eintragen, verwenden Sie das Format %Variablenname%. Benötigen Sie einen speziellen Wert einer gesetzten Variablen, können Sie diesen über das Format %Variablenname.Eigenschaft% aufrufen.
224
225 Ein Beispiel:
226
227 In einem Client Command wollen Sie die Variable URL mit mehreren Werten beschreiben. Dazu erstellen Sie eine Variable mit dem Namen URL und geben Eigenschaften im folgenden Format an:
228
229 {{code language="none"}}
230 Value=www.aagon.com,ClickedButton=ok
231 {{/code}}
232
233 Mehrere Eigenschaften werden hierbei durch ein Komma ohne folgendes Leerzeichen getrennt.
234
235 Einzelne Werte erreichen Sie nun über den Namen der Variablen mit Ihrer Eigenschaft:
236
237 {{code language="none"}}
238 %URL.Value% bzw. %URL.ClickedButton%
239 {{/code}}
240
241 Variablen sollten kein Gleichheitszeichen oder Komma enthalten, da es sonst auf Grund des Parsings von Delphi zu Problemen kommen kann.

Navigation

© Aagon GmbH 2024
Besuchen Sie unsere neue Aagon-Community