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 |
---|---|
|
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. |
|
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. |
|
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. |
|
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 MethodetoPlainText()
QPlainTextEdit
über die MethodetoPlainText()
QSpinBox
übervalue()
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 |
---|---|
|
Der Benutzername des Benutzers, der den Client gestartet hat, um den Befehl auszuführen. Dies ist immer der Benutzername ohne jegliche Domäneninformationen. |
|
Die Domäne des Benutzers, der den Befehl auf der Clientseite gestartet hat. |
|
Der Name des Hosts, auf dem der Client gestartet wurde, um den Befehl auszuführen. |
|
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 |
---|---|
|
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. |
|
Diese Option beschränkt den Wert auf Zeichen aus dem ASCII-Set. Alles andere wird aus dem String entfernt. |