Skriptbasierte Bedingungen

In diesem Abschnitt werden folgende Themen behandelt:

Wissenswertes über skriptbasierte Bedingungen

Mithilfe skriptbasierter Bedingungen können Sie Bedingungen über VBScript, JScript, und PowerShell erstellen, importieren und exportieren. Mithilfe von skriptbasierten Bedingungen können Sie Szenarien abdecken, die nicht standardmäßig über die Application Control-Konsole verfügbar sind. Beispiel: Überprüfen, ob die Windows-Firewall aktiviert ist.

Die Skripte werden in der AAMP-Konfiguration vorgehalten, während der Laufzeit auf Datenträger kopiert und nach Abschluss gelöscht. Skripte können importiert und exportiert und dadurch wiederverwendet werden.

Achtung: Wenn sehr große und sehr viele Skripte vorhanden sind, kann die Größe einer AAMP-Konfiguration schnell ansteigen. Dies kann sich auf die Dauer der Bereitstellung der Konfigurationen auf den Endpunkten sowie auf die Dauer der Ausführung der Konfigurationen auswirken.

Da Bedingungsskripte im Batchmodus ausgeführt werden, werden keine Eingabeaufforderungen oder Meldungsfelder angezeigt und es findet ein Timeout des Skripts statt, bevor es ausgeführt werden konnte. Damit ein Bedingungsskript ordnungsgemäß ausgeführt werden kann, sollten Eingabeaufforderungen oder Meldungsfelder aus den Skripten entfernt oder auskommentiert werden.

Stellen Sie beim Erstellen von skriptbasierten Bedingungen sicher, dass genügend Zeit für die Skriptausführung und die Prüfung zusätzlicher Bedingungen vorhanden ist. Application Control wendet beim Prüfen von Bedingungen für eine benutzerdefinierte Regel ein Timeout von 10 Sekunden an. Werden nicht alle Bedingungen innerhalb von 10 Sekunden geprüft, wird die benutzerdefinierte Regel nicht angewendet. Darüber hinaus werden die Bedingungen synchron überprüft. Wird die Prüfung eines Ausdrucks ausgelöst, wartet der Agent. bis das Skript fertig ausgeführt wurde, bevor er die nächste Bedingung prüft. Der Agent hält die Anwendung einer benutzerdefinierten Regel solange an, bis die Prüfung aller Bedingungen abgeschlossen ist oder per Timeout beendet wurde. Auch wenn Sie die skriptbasierte Bedingung so konfigurieren, dass sie weniger als 10 Sekunden für die Ausführung benötigt, kann es trotzdem zu einem Timeout kommen, nämlich dann, wenn für die Prüfung der anderen Bedingungen nicht genügend Zeit bleibt.

Windows PowerShell-Skripte verwenden verschiedene Ausführungsrichtlinien, die das Ausführen des Skriptes verhindern können oder nur solche Skripte zulassen, die von einem vertrauenswürdigen Herausgeber signiert wurden. Da Application Control Ausführungsrichtlinien übersteuert und etwaige Einschränkungen umgeht, können die PowerShell-Skripte ausgeführt werden.

Application Control ist kompatibel mit den PowerShell-Versionen 1.0, 2.0 und 3.0.

Codes zum Beenden

Alle Skripte für skriptbasierte Bedingungen müssen einen Code zum Beenden angeben. Wenn dieser ausgegeben wird, bestimmt der Application Control Agent anhand dieses Codes, ob das Skript erfolgreich war oder fehlgeschlagen ist. Für Skripte ohne Code zum Beenden geht der Agent von einer erfolgreichen Ausführung (Wert 0) aus.

Für jeden Skripttyp gibt es eine spezifische exit-Anweisung:

Sprache

exit-Anweisung

VBScript

WScript.Quit [value]

JScript

WScript.Quit([value])

PowerShell

exit ([Wert])

Ersetzen Sie [Wert] durch den jeweiligen Code zum Beenden des Skripts: 0 für erfolgreiche Ausführung und 1 für Fehlschlagen. Beispiel: WScript.Quit 0, WScript.Quit(0), exit (0). Bei Powershell-Skripten werden alle Werte ungleich null als Fehlschlagen interpretiert.

Erstellen einer skriptbasierten Bedingung

  1. Wählen Sie den Knoten für eine benutzerdefinierte Regel aus.
  2. Öffnen Sie im Arbeitsbereich für die Regel das Dropdownmenü "Bedingungen" und wählen Sie Skriptbasiert aus.

    Das Dialogfeld "Skriptbasierte Bedingung" wird angezeigt.

  3. Wählen Sie den Typ des Skripts aus: PowerShell, VBScript oder JScript.
  4. Legen Sie im Feld Ausführen für die maximale Dauer für das Ausführen des Skripts fest.

    Dies ist die Anzahl der Sekunden, nach deren Ablauf das Skript beendet wird. Der Höchstwert ist 10 Sekunden. Wird der Wert null oder gar kein Wert angegeben, wird dem Skript unendlich viel Zeit für die Ausführung eingeräumt. Überschreitet das Skript das Zeitlimit von 10 Sekunden, um weitere Bedingungen zu prüfen, tritt ein Timeout ein und die benutzerdefinierte Regel wird nicht angewendet.

    Skriptbasierte Bedingungen übersteuern standardmäßige Timeouts für Knoten und Bedingungen, jedoch nicht das 10-Sekunden-Timeout zum Prüfen von Bedingungen. Dieser Wert ist hartcodiert.

  5. Klicken Sie in das Dropdownfeld Optionen und konfigurieren Sie je nach Bedarf die folgenden Optionen:
    • Einmal pro Sitzung prüfen – Wählen Sie diese Option aus, um die Bedingung einmal auszuführen und das Ergebnis für die Dauer der Sitzung im Cache zu speichern. Anderenfalls wird die Bedingung immer dann geprüft, wenn sie in einer Konfiguration aufgerufen wird.
    • Als Systembenutzer ausführen – Wählen Sie diese Option aus, um dem Skript die Nutzung von Funktionalitäten zu erlauben, die anderenfalls für den derzeit angemeldeten Benutzer nicht zugänglich wären.
  6. Verwenden Sie eine der folgenden Methoden, um das Skript einzugeben:
    • Direktes Eingeben in das Feld
    • Ziehen und Ablegen bzw. Kopieren und Einfügen von einem anderen Speicherort aus
    • Klicken auf die Schaltfläche "Importieren" und Auswählen der Datei, die geöffnet und im Skriptfeld verwendet werden soll
  7. Klicken Sie auf OK, um das Skript zu speichern.

Nach dem Auslösen wird das Skript bis zum Abschluss ausgeführt und das Ergebnis (Erfolg oder Fehlschlagen) der Bedingung wird ausführlich in den Protokolldateien für die Fehlerbehebung dokumentiert.

Skripte, die ein Timeout auslösen, werden als fehlgeschlagen betrachtet. Untergeordnete Knoten und zugehörige Aktionen werden nicht ausgeführt.

Exportieren von Bedingungsskripten

Skripte können exportiert und im Dialogfeld "Skriptbasierte Bedingung" gespeichert und in andere Bedingungen und Konfigurationen importiert werden.

  1. Klicken Sie auf die Schaltfläche "Exportieren" und wählen Sie einen Speicherort zum Speichern der Datei aus.
  2. Klicken Sie auf Speichern, um den Exportvorgang abzuschließen.

Verwandte Themen