Platzhalter

Du kannst verschiedene Platzhalter in der Konfiguration einer Aktion verwenden. Diese Platzhalter werden vor der Ausführung einer Aktion durch Argumentwerte, Programmparameter oder Werte aus einer benutzerdefinierten Oberfläche ersetzt.

Ein Platzhalter hat das folgende Format.

{Platzhaltertyp:Platzhaltername}
{Platzhaltertyp:Platzhaltername:ListeDerOptionen}

Es darf kein Leerzeichen im Platzhalter zwischen den {...} Klammern geben. Hier einige Beispiele:

{arg:client}
{arg:server_name}
{env:action_path}
{env:ssh_dir:quote}
{ui:name:ascii}
{client:username}

Platzhalter-Typen

Es gibt vier verschiedene Arten von Platzhaltern. Dabei gibst du als erstes Element des Platzhalters einen Typbezeichner an. Wichtig ist, dass du für diesen Bezeichner immer Kleinbuchstaben verwendest, da hier die Gross-/Kleinschreibung unterschieden wird.

Parameter

Beschreibung

arg

Platzhalter für Kommandozeilenargumente. Der Name ist genau der Name des Kommandozeilenparameters, der an den Client übergeben wurde. Bei diesem Namen wird die Gross-/Kleinschreibung unterschieden.

env

Platzhalter für Umgebungsvariablen. Der Name ist genau der Name der Umgebungsvariable, die im Kontext des aufrufenden Prozesses definiert ist. Bei diesem Namen wird die Gross-/Kleinschreibung ignoriert. Siehe Platzhalter für Umgebungsvariablen für Details.

ui

Platzhalter für Werte aus einer interaktiven Benutzeroberfläche. Der Name ist der Name des Benutzeroberflächenelements, dessen Wert verwendet werden soll. Bei diesem Namen wird die Gross-/Kleinschreibung unterschieden. Siehe Platzhalter für Benutzeroberflächen für Details.

client

Platzhalter für Client-Informationen. Dieser Platzhalter kann nur für Programme verwendet werden, die auf der Serverseite ausgeführt werden. Siehe Platzhalter für Clients für Details.

Verwendung von Platzhaltern

Du kannst beliebig viele Platzhalter verwenden, auch mehrere Platzhalter, die auf denselben Namen verweisen.

<ListEntry>
    ...
    <Value name=”program”>{env:example_path}example.exe</Value>
    <Value name=”arguments”>--client={arg:clientname} {arg:filename}</Value>
</ListEntry>

Das oben gezeigte Beispiel zeigt einen Teil einer Aktionskonfiguration, die verschiedene Platzhalter verwendet. Mit {env:example_path} wird an dieser Stelle ein Pfad aus der Umgebungsvariable example_path eingefügt. Dies ist eine gute Strategie, wenn beispielsweise auf verschiedenen Clients Programme aus unterschiedlichen Orten aufgerufen werden müssen.

Dem Programm example.exe wird die Option --client=... übergeben. Hier wird der Platzhalter {arg:clientname} durch das Argument clientname ersetzt, das bei Aufruf des Actions-Clients angegeben wurde. Zudem wird noch ein Dateiname übergeben, der mit dem Argument filename an den Client übergeben wurde.

Um das fiktive Beispiel oben zu nutzen, würdest du den Actions-Client beispielsweise wie folgt aufrufen:

ActionsClient.exe --profile=example --clientname=client1 --filename=example.txt

Platzhalter für Umgebungsvariablen

Platzhalter für Umgebungsvariablen erlauben dir, Werte von Umgebungsvariablen in Argumente einzufügen. Der Name des Platzhalters muss dabei dem Namen der Umgebungsvariable entsprechen.

Das Actions-System nutzt immer die Umgebungsvariablen aus dem Kontext, in dem das Programm ausgeführt wird. Wird ein Programm auf dem lokalen Client ausgeführt, werden die Umgebungsvariablen des lokalen Clients und des Benutzers verwendet.

Wird ein Programm auf der Serverseite ausgeführt, nutzt das System die Umgebungsvariablen des Servers aus dem Kontext des Servicekontos.

Platzhalter für Benutzeroberflächen

Platzhalter für Benutzeroberflächen werden automatisch aus den folgenden Benutzeroberflächenelementen generiert:

  • QLineEdit

  • QTextEdit über die Methode toPlainText()

  • QPlainTextEdit über die Methode toPlainText()

  • QSpinBox über value() und anschliessende Umwandlung in einen String.

Für Elemente, die nicht in dieser Liste enthalten sind, musst du die Werte manuell in der Funktion onFinished() deines Skripts erfassen und sie als neue Eigenschaft im uivalue Objekt setzen, bevor du startProcess() aufrufst.

Lies Skript-Schnittstelle für weitere Details zu diesem Thema.

Platzhalter für Clients

Platzhalter für Clients können nur für Programme verwendet werden, die auf der Serverseite ausgeführt werden. Mit diesem Platzhalter kannst du Informationen über den Client und den Benutzer erhalten, der den Befehl ausführt.

Du kannst einen der folgenden Client-Platzhalter verwenden:

Name

Beschreibung

username

Der Benutzername des Benutzers, der den Client gestartet hat, um den Befehl auszuführen. Dies ist immer der Benutzername ohne jegliche Domäneninformationen.

domain

Die Domäne des Benutzers, der den Befehl auf der Clientseite gestartet hat.

host

Der Name des Hosts, auf dem der Client gestartet wurde, um den Befehl auszuführen.

version

Die Version des Clients, der den Befehl gestartet hat.

Allgemeine Platzhalteroptionen

Für alle Platzhalter stehen zwei allgemeine Optionen zur Verfügung. Sie verändern die Art und Weise, wie der Ersatz vorgenommen wird. Mehrere dieser Optionen können durch ein Komma , getrennt werden. Achte darauf, dass zwischen den Optionsbezeichnern kein Leerzeichen ist.

Option

Beschreibung

quote

Diese Option setzt Anführungszeichen um den Wert, um einen String mit Leerzeichen korrekt an den Prozess zu übergeben. Enthält der String Anführungszeichen, werden diese durch einfache Anführungszeichen ersetzt.

ascii

Diese Option beschränkt den Wert auf Zeichen aus dem ASCII-Set. Alles andere wird aus dem String entfernt.