Auf laufende Prozesse überprüfen

Zuletzt geändert von Sabrina V. am 2024/08/22 12:50

Ausgangslage

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.

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.

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.

Auf aktive Programme und Prozesse überprüfen

Skript auswählen

  1. Navigieren Sie ins Modul Client Commands > Erstellen.
  2. 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.

Command Set project variable setzen und bearbeiten

  1. Wählen Sie zunächst aus der Commandliste das Command Variables > Set project variable aus.
  2. Öffnen Sie den Befehl per Doppelklick und öffnen den Tab Allgemein.
  3. Unter der Beschreibung der Aktion können Sie einen Namen eingeben. In diesem Beispiel wird „Projektvariable setzen SOFTWARE_NAME zu "Mozilla Firefox"“ eingefügt.
  4. Wechseln Sie in den Tab Details.
  5. Klicken Sie unter der Variableneinstellung auf das Icon neben dem Variablennamen.
  6. 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.

Hinweis  Hinweis: 

Dieser Schritt ist optional, sollten Sie die Variable bei sich noch nicht bereits vorher angelegt haben.

       7. Fügen Sie unter dem Feld Einzeiliger Text den Namen der Software ein. In diesem Beispiel ist es "Mozilla Firefox".
       8. Klicken Sie im Anschluss auf OK.

65_Use Case Client Command_Auf laufende Prozesse Variableneinstellungen vornehmen.png

Variableneinstellungen vornehmen

Command Set project variable setzen und bearbeiten

  1. Wählen Sie erneut das Command Set project variable aus.
  2. Öffnen Sie den Befehl mit einem Doppelklick und öffnen Sie den Tab Allgemein.
  3. Geben Sie unter der Beschreibung den Namen der Aktion ein, z.B. Projektvariable setzen SOFTWARE_EXE zu "firefox.exe".
  4. Wechseln Sie in den Tab Details.
  5. 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. 

Hinweis  Hinweis: 

Dieser Schritt ist optional, sollten Sie die Variable bei sich noch nicht bereits vorher angelegt haben.

      6. Fügen Sie unter dem Feld Einzeiliger Text den Prozessnamen ein.

Hinweis  Hinweis: 

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.

          In diesem Fall ist der hier einzutragende Text "firefox.exe".
      7. Klicken Sie im Anschluss auf OK.

65_Use Case Client Commands_Auf laufende Prozesse überprüfen_Variableneinstellungen vornehmen.png

Variableneinstellungen vornehmen

Warning  Achtung: 

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.

Command Get process ID einfügen und anpassen

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.

  1. Wählen Sie das Command Process and Shell > Get process ID aus.
  2. Öffnen Sie das Command per Doppelklick.
  3. Aktivieren Sie unter Prozess / Zielvariable die Option … mit Prozess, indem Sie auf den Button klicken.
  4. Fügen Sie die entsprechende Variable ein (%SOFTWARE_EXE%). Mit dieser Variable wird geprüft, ob Mozilla Firefox läuft.

Warning  Achtung: 

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.

Hinweis  Hinweis: 

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.

     5. Klicken Sie unter Ergebnis speichern in auf das Icon rechts neben dem Variablennamen.
     6. Öffnen Sie aus dem Drop-Down-Menü oben die Projektvariablen.
     7. Fügen Sie unter Aktionen den Namen "CHECK_EXE" ein und klicken Sie auf das Plus-Icon.
         Schließen Sie diesen Schritt mit dem OK ab.

65_Use Case Client Commands_Variable auswählen.png

Variable auswählen

Hinweis  Hinweis: 

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.

       8. Das Ergebnis wird in der CHECK_EXE-Variable abgespeichert.
       9. Klicken Sie im Anschluss auf OK.

65_Use Case Client Commands_Auf laufende Prozesse überprüfen Get process ID_484.png

Get process ID

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.

Ö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. 

Warning  Achtung: 

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. 

65_Use Case_Client Commands_Auf laufende Prozesse überprüfen_Durchlauf des CCs_1275.png

Durchlauf des Client Commands zur Überprüfung auf laufende Prozesse

Command If ... Then einfügen und anpassen

  1. Wählen Sie aus der Commandliste den Befehl Flow Control > If .. Then aus.
  2. Öffnen Sie den Befehl per Doppelklick und wechseln Sie in den Tab Allgemein.
  3. 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.
  4. Wechseln Sie in den Tab Details.
  5. 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.
  6. 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.
  7. Fügen Sie als Wert 2 die Zahl 0 ein. Dies ist der Wert, der als Bedingung für den Operator genutzt wird.
  8. Klicken Sie auf OK, um den Befehl abzuschließen.

65_Use Case Client Commands_Variable auswählen.png

If ... Then Command

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.

Optional: Command Dialogs setzen und bearbeiten

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.

  1. Wählen Sie aus der Commandliste den Befehl Dialogs > Dialogs aus.
  2. Öffnen Sie den Befehl per Doppelklick und öffnen Sie den Tab Nachrichteneinstellungen.
  3. 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.
  4. Fügen Sie die Nachricht für die Clients ein, die eingeblendet werden soll, sollte das Programm noch geöffnet sein.

Hinweis  Hinweis: 

Sollten Sie eine Projektvariable verwenden wollen, um den Namen des Benutzers in der Ansprache zu verwenden, können Sie die Variable „%LOGGEDONUSER_NAME%“ nutzen.
Mit ihr wird der eingeloggte Benutzername als Anrede benutzt.

        Optional: Ändern Sie den Nachrichtentyp und/oder die verfügbaren Buttons und benutzerdefinierten Beschriftungen.

Hinweis  Hinweis: 

Wenn Sie sich den Nachrichtentext vor Abschluss des Commands anzeigen lassen wollen, können Sie dies über den Button Vorschau machen.

       5. Klicken Sie im Anschluss auf OK.

65_Use Case Client Commands_Auf laufende Prozesse überprüfen Dialog eingeben.png

Dialog eingeben

Command Else einfügen und anpassen

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.

  1. Navigieren Sie zurück in die Commandliste und wählen Sie den Befehl Flow Control > Else aus.

Hinweis  Hinweis: 

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.

      2. Öffnen Sie den Befehl per Doppelklick.
      3. Optional: Fügen Sie einen Kommentar ein, in welchem Fall der Else-Baustein ausgeführt werden soll.
      4. Klicken Sie auf OK.

65_Use Case Client Commands_Auf laufende Prozesse überprüfen_Else_476.png

Else Befehl

Command Exit script einfügen und editieren

  1. Wählen Sie aus der Commandliste den Befehl Flow Control > Exit script aus.
  2. Fügen Sie den Baustein unterhalb des Else-Befehls ein, sodass dieser eingerückt steht.
  3. Öffnen Sie den Befehl via Doppelklick.
  4. Wählen Sie unter dem Details Tab die Bedingung OK aus. Hierdurch wird das Skript als erfolgreich markiert.

Hinweis  Hinweis: 

Soll das Script an der Stelle fehlschlagen, müssen Sie aus dem Drop-Down-Menü Fehler auswählen.

     5. Geben Sie unter Optionen einen Grund an, wieso das Client Command erfolgreich war.
     6. Klicken Sie anschließend auf OK, um den Befehl zu schließen.

65_Use Case Client Commands_Auf laufende Prozesse überprüfen_Skript beenden_484.png

Skript beenden

Insgesamt muss Ihr Client Script nun aus sieben Bausteinen bestehen. Speichern Sie das Client Command ab.

65_Use Case Client Commands_Auf laufende Prozesse überprüfen.png

Client Command-Editor: Auf laufende Prozesse überprüfen

Client Command-Phasen durchlaufen lassen

Das Client Command muss abschließend die Phasen Testen, Synchronisieren, Freigeben und Ausführen 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.

© Aagon GmbH 2024
Besuchen Sie unsere neue Aagon-Community