Aktionen "Benutzerdefiniert" und "Ausführen"

In diesem Abschnitt werden folgende Themen behandelt:

Benutzerdefinierte Aktion

Es können benutzerdefinierte Aktionen mit PowerShell, Visual Basic oder Java Script erstellt werden, um eine Verarbeitung zu ermöglichen, die nicht durch andere Aktionen in Environment Manager bereitgestellt werden kann. Die Skripte werden in der XML-Konfiguration gespeichert, zur Laufzeit auf die Festplatte kopiert, ausgeführt und nach Abschluss gelöscht.

In der Vergangenheit wurden benutzerdefinierte Aktionen oft dazu verwendet, erforderliche Verzögerungen für Aktionen festzulegen. In Release 2020.3 von Environment Manager gibt es nunmehr die Registerkarte "Verzögerung" innerhalb des Dialogfelds "Aktionen", die das Festlegen einer benutzerdefinierten Aktion überflüssig macht.

Aktionen mit ungültigen Skripten geben einen Fehler zurück und alle untergeordneten Aktionen werden nicht ausgeführt. Vor Environment Manager 8.1 wurden benutzerdefinierte Aktionen ausgeführt, unabhängig davon, ob das Skript gültig war.

Für erfolgreiche und nicht erfolgreiche Aktionen werden separate Auditingereignisse erstellt. Diese können mit der Schaltfläche Auditing im Menüband Verwalten angezeigt werden.

Für erfolgreiche und nicht erfolgreiche Aktionen werden separate Auditingereignisse erstellt. Diese können mit der Schaltfläche Auditing im Menüband Verwalten angezeigt werden.

Wählen Sie die Art des Skripts aus (PowerShell, Visual Basic oder Java Script) und geben Sie das Skript direkt in das Dialogfeld ein. Skripte können auch durch Kopieren und Einfügen hinzugefügt oder mit der Schaltfläche zum Importieren importiert werden.

Die folgenden Einstellungen können angewendet werden und wirken sich auf das Verhalten der Aktion aus:

  • Timeout – Mit dieser Option wird ein Timeout für die Ausführung des Skripts gesetzt. Wenn der festgelegte Zeitpunkt erreicht ist, schlägt die Aktion fehl. Es gibt keinen Höchstwert für die Einstellung, allerdings steht der Wert 0 für unendlich. In benutzerdefinierten Aktionen festgelegte Timeouts überschreiben die Standardeinstellungen eines Knotens.

    Es wird empfohlen, einen Timeoutwert für benutzerdefinierte Aktionen und benutzerdefinierte Bedingungen festzulegen. Wird der Timeoutwert auf 0 gesetzt (unendlich), kann der Anmelde- oder Abmeldevorgang blockieren, falls das Skript nicht ausgeführt werden kann.

  • Interaktive Skriptausführung verhindern – Diese Option wird standardmäßig ausgeführt und bedeutet, dass Skripte, die eine Benutzerinteraktion erfordern, ohne Pop-up-Fenster ausgeführt werden.
  • Umgebungsvariablen auf Konfiguration anwenden – Wenn diese Option ausgewählt ist, wird jede im Skript festgelegte Umgebungsvariable auch in der Registrierung und im EM Client festgelegt, sodass sie außerhalb vom Skript verwendet werden kann.
  • Einfügen – Mit dieser Option wird eine Sitzungsvariable ausgewählt, die zum Skript hinzugefügt werden soll. Die Liste umfasst die folgenden integrierten Variablen:
    • SessionID – Die aktuelle Kennung der Sitzung
    • UserSID – Die Sicherheits-ID des Benutzers
    • UserTemp – Der Speicherort des temporären Benutzerverzeichnisses

In den Triggern "Netzwerk verfügbar", "Netzwerkverbindung hergestellt" und "Netzwerkverbindung unterbrochen" können weitere integrierte Sitzungsvariablen zum Skript hinzugefügt werden, um Verbindungsattribute festzulegen.

Exitcodes

In allen benutzerdefinierten Skripten muss ein Exitcode festgelegt werden, anhand dessen der Environment Manager Agent bei Rückgabe ermittelt, ob das Skript erfolgreich ausgeführt wurde. Für Skripte ohne Exitcode wird von einem Erfolg (Wert 0) ausgegangen.

Für jede Skriptart muss eine bestimmte Anweisung zum Beenden verwendet werden:

  • VBScript: WScript.Quit [Wert]
  • JScript – WScript.Quit([Wert])
  • PowerShell: exit ([Wert])

Ersetzen Sie [Wert] durch den Exitcode für das Skript: 0 bei Erfolg und 1 bei Fehlschlagen. Beispiel: WScript.Quit 0, WScript.Quit(0), exit (0)

PowerShell-Skripte

In Windows-PowerShell-Skripten kommen verschiedene Ausführungsrichtlinien zum Einsatz, mit denen die Ausführung der Skripte verhindert werden kann oder nur die zugelassen werden, die von vertrauenswürdigen Herausgebern signiert wurden. Environment Manager überschreibt Ausführungsrichtlinien und umgeht alle Einschränkungen, damit die PowerShell-Skripte ausgeführt werden können.

Es ist auch möglich, Ausführungsrichtlinien für Benutzer und Computer anhand von Gruppenrichtlinien einzurichten, die alle PowerShell-Ausführungsrichtlinien außer Kraft setzen. Eine Benutzerrichtlinie, die keine bzw. nur signierte Skripts erlaubt, hat keine Auswirkung auf die Ausführung von benutzerdefinierten PowerShell-Aktionen, wenn diese als System ausgeführt werden. Wenn sie jedoch als aktueller Benutzer ausgeführt werden, lässt die Benutzerrichtlinie die Skripts nicht zu und die benutzerdefinierte Aktion schlägt fehl. Eine Computerrichtlinie, die keine bzw. nur signierte Skripts erlaubt, lässt nicht zu, dass benutzerdefinierte PowerShell-Aktionen ausgeführt werden.

Daher muss Ihre Gruppenrichtlinie so eingerichtet sein, dass diese Skripts für Benutzer und Computer ausgeführt werden, wenn benutzerdefinierte PowerShell-basierte Aktionen erfolgreich ausgeführt werden sollen.

Environment Manager ist kompatibel mit den PowerShell-Versionen 1.0, 2.0 und 3.0.

Aktion "Ausführen"

Wenn diese Aktionen ausgelöst werden, führen sie eine Anwendung oder einen Prozess aus. Suchen Sie die Anwendung anhand des Feldes Dateiname. Das Arbeitsverzeichnis wird automatisch hinzugefügt, wenn die Anwendung ausgewählt wird. Zusätzlich können weitere Parameter hinzugefügt und an das Programm weitergeleitet werden.

Wählen Sie die Registerkarte Ausführen als und den Benutzer aus, damit der Prozess mit unterschiedlichen Anmeldeinformationen ausgeführt werden kann.

Wenn das Kontrollkästchen Kein Fenster erstellen (konsolenbasierte Anwendungen) ausgewählt ist, werden alle mit einer Anwendung oder einem Prozess verbundenen Befehlsfenster ausgeblendet.

Vermeiden Sie es, für Dateien, deren Ausführung eine Benutzerinteraktion erfordert (z. B. Programmdateien), Aktionen der Art Ausführen beim Anmelden in Knoten einzuschließen, die nacheinander ausgeführt werden sollen. Anderenfalls wird der Anmeldeprozess auf unbestimmte Zeit angehalten, da das Anmeldeskript darauf wartet, dass das Ausführen-Skript ausgeführt wird. Wenn beispielsweise die Aktion Ausführen "notepad.exe" aufruft, wartet das Anmeldeskript, bis Notepad abgeschlossen ist und setzt den Anmeldeprozess erst dann fort.

Wenn die Option Untergeordnete Aktionen dürfen erst nach Beenden des Prozesses ausgeführt werden nicht markiert ist, wird der Vorgang nicht verzögert, da die Benutzerinteraktion abgeschaltet ist.

Verwandte Themen