Zeige letzte Bearbeiter
1 {{aagon.priorisierung}}
2 160
3 {{/aagon.priorisierung}}
4
5 {{aagon.floatingbox/}}
6
7 = Ausgangslage =
8
9 Manchmal ist es unumgänglich, dass Sie auch während der regulären Arbeitszeit Updates an Software oder Programmen vornehmen müssen, die alle oder vereinzelte Clients in Ihrem Unternehmen betreffen. Hierbei ist es von Vorteil, wenn Sie beispielsweise überprüfen können, ob ein bestimmtes Programm gerade aktiv verwendet wird oder nicht, um so einen Überblick darüber zu bekommen, wie schnell gewisse Updates verteilt werden können.
10
11 Dieses Client Command wird zum Beispiel für die Softwareverteilung benötigt. Es wird überprüft, ob ein bestimmter Prozess noch läuft, der zu einem Programm gehört, welches aktualisiert werden soll. Der Benutzer kann darüber informiert werden, dass das Programm und der damit verbundene Prozess geschlossen werden soll, um ein solches Update auszuführen. Dabei ist es unerheblich, ob Sie Microsoft Word oder einen Internet Browser prüfen möchten. Nachfolgend wird das Command universell gebaut, sodass Sie es schnell und gezielt auch auf andere Programme anpassen können. Daher wird im nachfolgendem Use Case auf Variablen (Systemvariablen) zurückgegriffen, die nur wenige Anpassungen hinterher benötigen und gewisse Bestandteile im Skript flexibler und variabler machen.
12
13 In diesem Use Case wird Ihnen aufgezeigt, wie Sie gezielt auf den Clients überprüfen können, ob ein bestimmtes Programm oder ein bestimmter Prozess läuft. Dabei wird exemplarisch nach Mozilla Firefox gesucht. Auch erhalten Sie einen Einblick, wie Sie Variablen universell verwenden können.
14
15 = Auf aktive Programme und Prozesse überprüfen =
16
17 == Skript auswählen ==
18
19 1. Navigieren Sie ins Modul //Client Commands// > //Erstellen//.
20 1. Klicken Sie in der Ribbonleiste auf //Hinzufügen//. Es öffnet sich der Client Command Editor, in dem Sie entscheiden müssen, ob es sich um ein Console- oder Clientskript handelt. In diesem Fall wählen Sie das Clientskript aus.
21
22 == Command //Set project variable //setzen und bearbeiten ==
23
24 1. Wählen Sie zunächst aus der Commandliste das Command //Variables //> //Set project variable// aus.
25 1. Öffnen Sie den Befehl per Doppelklick und öffnen den Tab //Allgemein//.
26 1. Unter der Beschreibung der Aktion können Sie einen Namen eingeben. In diesem Beispiel wird „Projektvariable setzen SOFTWARE_NAME zu "Mozilla Firefox"“ eingefügt.
27 1. Wechseln Sie in den Tab //Details//.
28 1. Klicken Sie unter der Variableneinstellung auf das Icon neben dem Variablennamen.
29 1. Optional: Legen Sie eine neue Variable unter den //Aktionen //an. Benennen Sie diese mit „SOFTWARE_NAME“ und klicken Sie auf das Plus-Icon. Klicken Sie anschließend auf den //OK //Button, um den Schritt abzuschließen.
30
31 {{aagon.infobox}}
32 Dieser Schritt ist optional, sollten Sie die Variable bei sich noch nicht bereits vorher angelegt haben.
33 {{/aagon.infobox}}
34
35 7. Fügen Sie unter dem Feld //Einzeiliger Text //den Namen der Software ein. In diesem Beispiel ist es "Mozilla Firefox".
36 8. Klicken Sie im Anschluss auf //OK//.
37
38 {{figure}}
39 (% style="text-align:center" %)
40 [[image:65_Use Case Client Command_Auf laufende Prozesse Variableneinstellungen vornehmen.png]]
41
42 {{figureCaption}}
43 Variableneinstellungen vornehmen
44 {{/figureCaption}}
45 {{/figure}}
46
47 == Command //Set project variable //setzen und bearbeiten ==
48
49 1. Wählen Sie erneut das Command //Set project variable //aus.
50 1. Öffnen Sie den Befehl mit einem Doppelklick und öffnen Sie den Tab //Allgemein//.
51 1. Geben Sie unter der Beschreibung den Namen der Aktion ein, z.B. //Projektvariable setzen SOFTWARE_EXE zu "firefox.exe"//.
52 1. Wechseln Sie in den Tab //Details//.
53 1. Optional: Legen Sie eine neue Variable unter den //Aktionen //an. Benennen Sie diese „SOFTWARE_EXE“ und klicken Sie auf das Plus-Icon. Schließen Sie diesen Schritt mit dem //OK //ab.
54
55 {{aagon.infobox}}
56 Dieser Schritt ist optional, sollten Sie die Variable bei sich noch nicht bereits vorher angelegt haben.
57 {{/aagon.infobox}}
58
59 6. Fügen Sie unter dem Feld //Einzeiliger Text //den Prozessnamen ein.
60
61 {{aagon.infobox}}
62 Sie können den Namen des Prozesses über den Task Manager abfragen, indem Sie die laufenden Prozesse öffnen und sich den Namen über den //Details//-Tab anzeigen lassen.
63 {{/aagon.infobox}}
64
65 In diesem Fall ist der hier einzutragende Text "firefox.exe".
66 7. Klicken Sie im Anschluss auf //OK//.
67
68 {{figure}}
69 (% style="text-align:center" %)
70 [[image:65_Use Case Client Commands_Auf laufende Prozesse überprüfen_Variableneinstellungen vornehmen.png]]
71
72 {{figureCaption}}
73 Variableneinstellungen vornehmen
74 {{/figureCaption}}
75 {{/figure}}
76
77 {{aagon.warnungsbox}}
78 Mit den beiden Commands Set project variable haben Sie zwei Werte eingetragen, die Sie für eine Überprüfung eines bestimmten Prozesses benötigen. In diesem Fall haben Sie den Namen der Software (Mozilla Firefox) sowie den Namen der ausführbaren Datei (firefox.exe) eingegeben. Sollten Sie das gesamte Command zu einem späteren Zeitpunkt auf ein anderes Programm überprüfen lassen wollen, so müssen Sie nur die beiden ersten Zeilen anpassen.
79 {{/aagon.warnungsbox}}
80
81 == Command //Get process ID// einfügen und anpassen ==
82
83 Mithilfe dieses Commands können Sie die aktuelle Prozess-ID des laufenden Prozesses oder Programms ermitteln. Darüber ist es möglich im weiteren Aufbau des Anwendungsbeispiels zu prüfen, ob der bestimmte Prozess oder das Programm aktiv auf einem Client läuft oder nicht.
84
85 1. Wählen Sie das Command //Process and Shell //> //Get process ID //aus.
86 1. Öffnen Sie das Command per Doppelklick.
87 1. Aktivieren Sie unter //Prozess / Zielvariable //die Option //… mit Prozess//, indem Sie auf den Button klicken.
88 1. Fügen Sie die entsprechende Variable ein ~(%SOFTWARE_EXE%). Mit dieser Variable wird geprüft, ob Mozilla Firefox läuft.
89
90 {{aagon.warnungsbox}}
91 Es wird empfohlen, die Variablen nicht händisch einzugeben, um mögliche Tippfehler auszuschließen. Fügen Sie diese lieber entweder über das Icon in der Zeile … mit Prozess ein oder drücken Sie im Feld die Tastenkombination STRG + Leertaste. Hierdurch wird die Liste der Variablen geöffnet und Sie können die passende auswählen.
92 {{/aagon.warnungsbox}}
93
94 {{aagon.infobox}}
95 An dieser Stelle wird nicht explizit die firefox.exe eingetragen, um das Client Command möglichst variable auch für andere Überprüfungen zu gestalten. Hierdurch können Sie nach Abschluss des Commands einfach die Angaben aus der Zeile 1 und Zeile 2 anpassen und auf andere Prozesse überprüfen, indem Sie dort ein anderes Programm eintragen.
96 {{/aagon.infobox}}
97
98 5. Klicken Sie unter //Ergebnis speichern in //auf das Icon rechts neben dem Variablennamen.
99 6. Öffnen Sie aus dem Drop-Down-Menü oben die Projektvariablen.
100 7. Fügen Sie unter Aktionen den Namen "CHECK_EXE" ein und klicken Sie auf das Plus-Icon.
101 Schließen Sie diesen Schritt mit dem //OK //ab.
102
103 {{figure}}
104 (% style="text-align:center" %)
105 [[image:65_Use Case Client Commands_Variable auswählen.png]]
106
107 {{figureCaption}}
108 Variable auswählen
109 {{/figureCaption}}
110 {{/figure}}
111
112 {{aagon.infobox}}
113 Die Variablennamen können Sie frei wählen. Jedoch empfehlen wir Ihnen treffende Namen für das jeweilige Thema zu wählen, um später im Ablauf genau nachvollziehen zu können, was eine Variable macht.
114 {{/aagon.infobox}}
115
116 8. Das Ergebnis wird in der CHECK_EXE-Variable abgespeichert.
117 9. Klicken Sie im Anschluss auf //OK//.
118
119 {{figure}}
120 (% style="text-align:center" %)
121 [[image:65_Use Case Client Commands_Auf laufende Prozesse überprüfen Get process ID_484.png]]
122
123 {{figureCaption}}
124 Get process ID
125 {{/figureCaption}}
126 {{/figure}}
127
128 Sie haben jetzt die ersten Befehle in das Client Script eingebaut. Sie können an dieser Stelle schon bei sich auf dem Computer überprüfen, ob das Command funktioniert. Klicken Sie dafür auf die Schnellwahlleiste auf den Start-Button oder drücken Sie den Shortcut F9. Die ersten drei Befehle werden dadurch gestartet.
129
130 Öffnen Sie nun den //Ablauflog //im unteren Bereich des Feldes, wo alle Log Nachrichten des Client Scrips hinterlegt sind. Je nachdem, ob Sie nun den Browser Mozilla Firefox geöffnet haben oder nicht, wird Ihnen ein anderer Wert angezeigt. Dies wird anhand der Variablenbezeichnung der „CHECK_EXE“ erläutert. Wenn die Variable 0 ist, ist das Programm nicht geöffnet. Sollte die Variable >0 sein, ist das Programm geöffnet und läuft im Hintergrund. In der hier abgebildeten Grafik ist die Variable auf 0 gesetzt, also ist das Programm nicht offen.
131
132 {{aagon.warnungsbox}}
133 Wenn die Prozess-ID nicht läuft (und somit gleich 0 ist), läuft er im Client Script auf einen Fehler (siehe Grafik). Diesen Fehler sollten Sie ignorieren, indem Sie die danebenliegende Checkbox aktivieren. Somit wird im Skript hinterlegt, dass die 0 auch ein gültiges Ergebnis ist und das Client Command weiterlaufen kann. Sie müssen im Anschluss den Wert überprüfen, ob ein Wert gleich 0 oder größer als 0 ist.
134 {{/aagon.warnungsbox}}
135
136 {{figure}}
137 (% style="text-align:center" %)
138 [[image:65_Use Case_Client Commands_Auf laufende Prozesse überprüfen_Durchlauf des CCs_1275.png]]
139
140 {{figureCaption}}
141 Durchlauf des Client Commands zur Überprüfung auf laufende Prozesse
142 {{/figureCaption}}
143 {{/figure}}
144
145 == Command //If ... Then// einfügen und anpassen ==
146
147 1. Wählen Sie aus der Commandliste den Befehl //Flow Control// > //If .. Then //aus.
148 1. Öffnen Sie den Befehl per Doppelklick und wechseln Sie in den Tab //Allgemein//.
149 1. Unter der Beschreibung der Aktion können Sie einen Namen eingeben, der den Befehl beschreibt. In diesem Beispiel wird „If ~(%CHECK_EXE% <> 0) Then - Wenn der Prozess läuft ...“ geschrieben, damit auch in dem Hauptfeld klar ersichtlich ist, welche Bedingung es hier zu erfüllen gilt.
150 1. Wechseln Sie in den Tab //Details//.
151 1. Fügen Sie unter den Bedingungen die Werte ein, die überprüft werden sollen. Unter Wert 1 müssen Sie die Variable //%CHECK_EXE% //reinschreiben, da es diese zu überprüfen gilt. Die Variable im Wert 1 wird im Programmdurchlauf dann befüllt.
152 1. Wählen Sie als Operator ungleich aus (< >), um so zu prüfen, ob das Programm bzw. der Prozess läuft oder nicht. Dieser Operator eignet sich besonders dafür, weil der Wert immer unterschiedlich sein kann und Sie dadurch alle Möglichkeiten einbeziehen können.
153 1. Fügen Sie als Wert 2 die Zahl 0 ein. Dies ist der Wert, der als Bedingung für den Operator genutzt wird.
154 1. Klicken Sie auf //OK//, um den Befehl abzuschließen.
155
156 {{figure}}
157 (% style="text-align:center" %)
158 [[image:65_Use Case Client Commands_Auf laufende Prozesse überprüfen If ... then.png||alt="65_Use Case Client Commands_Variable auswählen.png"]]
159
160 {{figureCaption}}
161 If ... Then Command
162 {{/figureCaption}}
163 {{/figure}}
164
165 Sollte der Prozess laufen, wird die Zeile abgeschlossen, da die Bedingung erfüllt wird. Wenn der Prozess jedoch nicht läuft, wird die Zeile übersprungen.
166
167 == Optional: Command //Dialogs //setzen und bearbeiten ==
168
169 Diesen Befehl können Sie optional setzen, wenn Sie auf Ihren Clients ein Dialog-Fenster erscheinen lassen wollen, der darüber informiert, dass das Programm geschlossen werden soll. Die Nachricht ist individuell anpassbar. Beachten Sie, dass der Befehl eingerückt unterhalb des vorherigen Befehls (If ~(%CHECK_EXE% <> 0) Then) stehen muss, damit dieser korrekt ausgeführt wird.
170
171 1. Wählen Sie aus der Commandliste den Befehl //Dialogs //> //Dialogs// aus.
172 1. Öffnen Sie den Befehl per Doppelklick und öffnen Sie den Tab //Nachrichteneinstellungen//.
173 1. Fügen Sie unter //Titel //eine treffende Bezeichnung für die Nachricht ein. Wir empfehlen Ihnen auch hier wieder die Projektvariable und nicht den Namen des Programms zu verwenden, um den kompletten Baustein variabel zu halten. So können Sie z.B. //Software Update: %SOFTWARE_NAME% //schreiben.
174 1. Fügen Sie die Nachricht für die Clients ein, die eingeblendet werden soll, sollte das Programm noch geöffnet sein.
175
176 {{aagon.infobox}}
177 Sollten Sie eine Projektvariable verwenden wollen, um den Namen des Benutzers in der Ansprache zu verwenden, können Sie die Variable „%LOGGEDONUSER_NAME%“ nutzen.
178 Mit ihr wird der eingeloggte Benutzername als Anrede benutzt.
179 {{/aagon.infobox}}
180
181 Optional: Ändern Sie den //Nachrichtentyp //und/oder die //verfügbaren Buttons und benutzerdefinierten Beschriftungen//.
182
183 {{aagon.infobox}}
184 Wenn Sie sich den Nachrichtentext vor Abschluss des Commands anzeigen lassen wollen, können Sie dies über den Button //Vorschau// machen.
185 {{/aagon.infobox}}
186
187 5. Klicken Sie im Anschluss auf //OK//.
188
189 {{figure}}
190 (% style="text-align:center" %)
191 [[image:65_Use Case Client Commands_Auf laufende Prozesse überprüfen Dialog eingeben.png]]
192
193 {{figureCaption}}
194 Dialog eingeben
195 {{/figureCaption}}
196 {{/figure}}
197
198 == Command //Else //einfügen und anpassen ==
199
200 Der Baustein //Else //gehört zu dem vorherigen Befehl //If … Then. //Stellen Sie sicher, dass der Befehl auf der gleichen Ebene eingeordnet ist, damit die Bedingungen zwischen //If … Then //und //Else// abgeschlossen werden.
201
202 1. Navigieren Sie zurück in die Commandliste und wählen Sie den Befehl //Flow Control //> //Else// aus.
203
204 {{aagon.infobox}}
205 Rücken Sie diesen Befehl entweder über die Schnellwahlleiste oder den Shortcut STRG + Pfeiltaste Links ein, sodass er genauso wie //If ... Then// auf der gleichen Ebene angezeigt wird.
206 {{/aagon.infobox}}
207
208 2. Öffnen Sie den Befehl per Doppelklick.
209 3. Optional: Fügen Sie einen Kommentar ein, in welchem Fall der Else-Baustein ausgeführt werden soll.
210 4. Klicken Sie auf //OK//.
211
212 {{figure}}
213 (% style="text-align:center" %)
214 [[image:65_Use Case Client Commands_Auf laufende Prozesse überprüfen_Else_476.png]]
215
216 {{figureCaption}}
217 Else Befehl
218 {{/figureCaption}}
219 {{/figure}}
220
221 == Command //Exit script //einfügen und editieren ==
222
223 1. Wählen Sie aus der Commandliste den Befehl //Flow Control //> //Exit script //aus.
224 1. Fügen Sie den Baustein unterhalb des Else-Befehls ein, sodass dieser eingerückt steht.
225 1. Öffnen Sie den Befehl via Doppelklick.
226 1. Wählen Sie unter dem //Details //Tab die Bedingung //OK //aus. Hierdurch wird das Skript als erfolgreich markiert.
227
228 {{aagon.infobox}}
229 Soll das Script an der Stelle fehlschlagen, müssen Sie aus dem Drop-Down-Menü //Fehler// auswählen.
230 {{/aagon.infobox}}
231
232 5. Geben Sie unter //Optionen //einen Grund an, wieso das Client Command erfolgreich war.
233 6. Klicken Sie anschließend auf //OK//, um den Befehl zu schließen.
234
235 {{figure}}
236 (% style="text-align:center" %)
237 [[image:65_Use Case Client Commands_Auf laufende Prozesse überprüfen_Skript beenden_484.png]]
238
239 {{figureCaption}}
240 Skript beenden
241 {{/figureCaption}}
242 {{/figure}}
243
244 Insgesamt muss Ihr Client Script nun aus sieben Bausteinen bestehen. Speichern Sie das Client Command ab.
245
246 {{figure}}
247 (% style="text-align:center" %)
248 [[image:65_Use Case Client Commands_Auf laufende Prozesse überprüfen.png]]
249
250 {{figureCaption}}
251 Client Command-Editor: Auf laufende Prozesse überprüfen
252 {{/figureCaption}}
253 {{/figure}}
254
255 == Client Command-Phasen durchlaufen lassen ==
256
257 Das Client Command muss abschließend die Phasen [[Testen>>doc:ACMP.65.ACMP-Solutions.Client Commands.Client Command testen.WebHome]], [[Synchronisieren>>doc:ACMP.65.ACMP-Solutions.Client Commands.Client Command synchronisieren.WebHome]], [[Freigeben>>doc:ACMP.65.ACMP-Solutions.Client Commands.Client Command freigeben.WebHome]] und [[Ausführen>>doc:ACMP.65.ACMP-Solutions.Client Commands.Client Command ausführen.WebHome]] durchlaufen, damit es verwendet werden kann. Erst danach können Sie überprüfen, ob ein bestimmtes Programm oder ein Prozess aktiv auf einem Client läuft.

Navigation

© Aagon GmbH 2024
Besuchen Sie unsere neue Aagon-Community