Client Command Variablen

Last modified by Jannis Klein on 2025/01/21 09:13

Variablen dienen dazu, Werte an Commands zu übergeben, bestimmte Werte zu speichern oder sie agieren als Ergebnisvariablen, deren Werte in nachfolgenden Commands wiederum übergeben werden.

Dabei gibt es in ACMP vier Typen von Variablen.

Diese unterscheiden sich in der Verwendung:

image-20240216133642-1.pngProjektvariablenDiese Variablen bestehen nur in dem aktuellen Projekt und können nicht in anderen Projekten genutzt werden.
1708087019708-936.pngConsole VariablenDiese Variablen stehen im gesamten ACMP-Umfeld zur Verfügung und können in allen Projekten genutzt werden. Sie können jedoch nicht angelegt werden und werden von ACMP automatisch bei der Ausführung befüllt. Dadurch können sie nicht vom Benutzer beeinflusst werden.
image-20240216133642-3.pngSystemvariablen

Diese Variablen beschreiben die aktuelle Umgebung, auf welchem das Client Command ausgeführt werden soll. So lassen sich einfach z.B. Rechnerbezogene, aber auch Werte des ACMP Servers auslesen (Name, Verzeichnisse, Betriebssystem). Diese Variablen können nur gelesen werden.

1708087029803-340.pngGlobale ACMP VariablenDiese Variablen enthalten allgemeine Konfigurationswerte, die vorab definiert werden. Jedem Client Command stehen diese Variablen und deren Werte zur Verfügung. Ob eine globale Variable schreibbar oder nicht schreibbar sein soll, kann für jeden einzelne Variable vorab in der ACMP Console definiert werden.

CC_Verfügbare Variablen.png

Verfügbare Variablen

Allgemeines Arbeiten mit Variablen

Variablen sind wichtige Bestandteile von Client Commands. Sie werden immer mit einem %-Zeichen vor und nach dem Variablennamen geschrieben, z.B.: %DOWNLOAD_PATH%. Die Variablennamen sind dabei nicht case-sensitiv. Wenn Sie eine neue Variable anlegen oder bestehende Variablen verwalten möchten, klicken Sie in der Menüleiste des Client Command Editors auf das image-20230710101949-5.png-Symbol. 

Hinweis  Note:  

Wenn Variablen in der Menüleiste angelegt oder deren Standardwert verändert werden, müssen diese ohne Prozentzeichen angegeben werden.

Werden Variablen in Commands innerhalb der Commandlist benutzt, dann muss dies mit Prozentzeichen geschehen, z.B. %Variablenname%:

Wenn Sie ein Client Command erstellen, können Sie innerhalb der Befehle mit dem Shortcut Strg + Leertaste die Variablenauswahl öffnen und die benötigte Variable auswählen.

Variablen und Werte

In ACMP können Variablen alle möglichen Arten von Werten enthalten. Der Wert einer Variable wird dabei immer als kommaseparierte Liste betrachtet, sodass es auch möglich ist, mehrere Attribute mit Werten in dieser Liste aufzuführen. Im nachfolgenden Beispiel wurde eine neue Projektvariable mit dem Namen MEINE_VARIABLE angelegt, die als Standardwert eine Liste mit mehreren Attributen Eig1, Eig2 und Eig3 enthält. Die Attribute in der Liste sind jeweils mit einem Komma getrennt und jedes Attribut besitzt einen eigenen Wert.

Variable mit Beispielwerten

Neu angelegte Projektvariable mit einer kommaseparierten Liste als Standardwert

Syntax von Werten

Bei der Arbeit mit Variablen und Werten gibt es einige Syntax-Regeln zu beachten, die am Beispiel des Standardwertes Eig1=Wert1,Eig2=A,, B,, C,Eig3=123 der Variable %MEINE_VARIABLE% ersichtlich werden:

  • Nach einem Komma zur Trennung der Attribute darf KEIN Leerzeichen verwendet werden
  • Zur Verwendung eines Kommas innerhalb eines Attribut-Wertes, muss zum Escapen ein doppeltes Komma verwendet werden (vgl. Eig2=A,, B,, C)
  • Innerhalb eines Attribut-Wertes ist die Verwendung von Leerzeichen möglich

Variablen und Werte abrufen

Wenn Sie in Ihrem Client Command nun eine Variable bzw. einen bestimmten Attribut-Wert einer Variable abrufen möchten, können Sie über den Shortcut Strg + Leertaste die Variablenauswahl öffnen und mit den Pfeiltasten navigieren oder der Buchstaben-Schnellsuche zur gewünschten Variable springen. Nachdem Sie die Variable eingefügt haben, können Sie diese mit einem Attribut erweitern, um auf einen spezifischen Attribut-Wert zuzugreifen. Die Variable muss dabei nach dem Schema %VariablenName.Attribut% erweitert werden.

Hinweis  Note:  

Im Gegensatz zur Variablenauswahl, werden Ihnen bei der Auswahl eines Attributs die existierenden Attribute nicht vorgeschlagen und Sie müssen diese händisch ergänzen.

Im nachfolgenden Beispiel wird der Dialogs-Befehl genutzt, um das Abrufen der Variable %MEINE_VARIABLE% mit dem Attribut Eig2 darzustellen und die Ausgabe mit Kommata in einem Attribut-Wert zu testen:

Ausgabe einer Variable mit Attribut

Ausgabe der Variable mit Attribut: %MEINE_VARIABLE.Eig2%

Projektvariablen

Projektvariablen sind Variablen, die nur für die Client Command spezifische Dauer agieren und somit auch nur für die Nutzung des einen Client Commands gedacht sind.

Sie sind nur in dem spezifischen Client Command verfügbar, in dem sie auch definiert wurden. D.h., dass sobald das Client Command abgeschlossen ist, nicht mehr auf die Projektvariable zugegriffen werden kann.

Für Projektvariablen können außerdem Parameter definiert werden, welche als Client Command spezifische Einstellungen agieren und die nur diesem Client Command mitgegeben werden.

Console Variablen

Variablen vom Typ Console werden dynamisch zum Zeitpunkt der Ausführung des Skripts befüllt.

NameBeschreibung
CONSOLE_EXECUTION_IDBeinhaltet eine GUID, die die Ausführung des Console Skripts eindeutig identifiziert.
CONTAINER_PATHWird ein Client Command als Job an einen Container angefügt, wird diese Variable bei Ausführung auf dem Client über den Container mit dem Pfad befüllt. Der Wert kann als Vorschau in dem Container Plugin für den entsprechenden Container eingesehen werden. Diesen können Sie auch in der Ansicht der Container lesen, z.B. acmp.local/Aagon/Soest/Computer. 
SELECTED_CLIENTS

Wird ein Client Command aus einem ACMP Abfrageergebnis als Push ausgeführt, wird diese Variable befüllt. Sie beinhaltet eine Auflistung aller Client-IDs von Agenten, die in dem Abfrageergebnis selektiert wurden.

Es wird davon abgeraten, direkt mit dieser Variable zu arbeiten und stattdessen das Command Iterate Selected Clients zu verwenden. Zur Laufzeit wird die Variable wie folgt befüllt:

0={ACMP-ID des ersten Clients}, 1={ACMP-ID des zweiten Clients}, 2={ACMP-ID des dritten Clients}, etc.

SELECTED_COMPUTERNAMES

Wird ein Client Command aus einem ACMP Abfrageergebnis als Push ausgeführt, wird diese Variable befüllt. Die Variable beinhaltet eine Auflistung aller Computernamen der Agenten, die in dem Abfrageergebnis selektiert wurden.

Es wird davon abgeraten, direkt mit dieser Variable zu arbeiten und stattdessen das Command Iterate Selected Clients zu verwenden. Zur Laufzeit wird die Variable wie folgt befüllt:

0=Computername1, 1=Computername2, 2=Computername3, etc.

SELECTED_IPADDRESSES

Wenn ein Client Command aus einem ACMP Abfrageergebnis als Push ausgeführt wird, wird diese Variable befüllt. Die Variable beinhaltet eine Auflistung aller IP-Adressen der Agenten, die in dem Abfrageergebnis selektiert wurden.

Es wird davon abgeraten, direkt mit dieser Variable zu arbeiten und stattdessen das Command Iterate Selected Clients zu verwenden. Zur Laufzeit wird die Variable wie folgt befüllt:

0={IP-Adresse 1}, 1={IP-Adresse 2}, 2={IP-Adresse 3}, etc.

SELECTED_LASTLOGGEDONUSERS

Wird ein Client Command aus einem ACMP Abfrageergebnis als Push ausgeführt, wird diese Variable befüllt. Die Variable beinhaltet eine Auflistung aller zuletzt angemeldeter Benutzer, die in dem Abfrageergebnis selektiert wurden.

Es wird davon abgeraten, direkt mit dieser Variable zu arbeiten und stattdessen das Command Iterate Selected Clients zu verwenden. Zur Laufzeit wird die Variable wie folgt befüllt:

0=Benutzer1, 1=Benutzer2, 2=Benutzer3, etc.

Der Benutzer1 ist dabei der zuletzt angemeldete Benutzer auf dem ersten Client aus dem selektierten Abfrageergebnis, der Benutzer2 der zuletzt angemeldete Benutzer auf dem zweiten Client etc.

SICS_ROUTING_KEY

Wird ein Client Command als Job an einen Container angefügt, wird diese Variable bei Ausführung auf dem Client über den Container mit dem Pfad befüllt. Der Wert kann als Vorschau in dem Container Plugin für den entsprechenden Container eingesehen werden. Diesen können Sie auch in der Ansicht der Container lesen, z.B. acmp.local.Aagon.Soest.Computer. 

Der Pfad wird durch Punkte getrennt.

Systemvariablen

Diese Variablen beschreiben das aktuelle System, auf welchem das Client Command ausgeführt werden soll. So lassen sich einfach rechnerbezogene Werte auslesen (z.B. Computername, Name des Serverports, jegliche Verzeichnisse oder auch das Betriebssystem).

Hinweis  Note:  

Diese Variablen können nur gelesen werden.

Eine besondere Stellung verfügt die Systemvariable CallerType, die nachfolgend genauer erklärt wird.

CallerType

In jedem Client Command, ist es möglich, zu unterscheiden, wie es gestartet wurde. Für diese Unterscheidung wird die Systemvariable CallerType verwendet.

Folgende Werte kann %CallerType% annehmen:

GUIWurde ein Client Command über den ACMP Kiosk und vom Command Launcher auf einem Client ausgeführt, nimmt der %CallerType% diesen Wert an.
CONSOLEWurde das Client Command automatisch aus der ACMP Console heraus ausgeführt, wird der %CallerType% mit diesem Wert befüllt.
CLIENTSVCWurde das Client Command als Job entweder einmalig oder wiederkehrend ausgeführt, wird der %CallerType% diesen Wert annehmen.
RUNCC

Wurde das Client Command via RunCC bzw. WRunCC aufgerufen, wird der %CallerType% diesen Wert annehmen.
 

Wird das Client Command Run Client Command gestartet, so liefert der %CallerType% ebenfalls den Wert RUNCC zurück.

RolloutWurde das Client Command im Post-Deployment von ACMP OS Deployment aufgerufen, so wird dieser %CallerType%  zurückgeliefert.

Globale ACMP Variablen

Mithilfe einer ACMP Variable können Eigenschaften, die global die ACMP Console betreffen, ausgelesen werden. Jedem Client Command stehen diese globalen Variablen und deren Werte zur Verfügung.

Sie definieren die globalen Variablen in der Ribbonleiste unter Client Commands > Werkzeuge > Globale Variablen verwalten.

Hinweis  Note:  

Globale Variablen werden nicht von Client Commands mit exportiert.

Folgende Variablen werden standardmäßig mitgeliefert:

DEPARTMENTDie globalen Variable „DEPARTMENT“ wird vom mitgelieferten Client Command „Client Location“ und „Client Location (Configuration)“ im „Data Collection“-Ordner verwendet.
LOCATIONDie globalen Variable „LOCATION“ wird vom mitgelieferten Client Command „Client Location“ und „Client Location (Configuration)“ im „Data Collection“-Ordner verwendet.
URL_HELPDESKDiese Variable wird im Client Command „Create Helpdesk Shortcut“ verwendet.
URL_SELFSERVICEDiese Variable wird in den Client Commands „Create Self-Service Shortcut“ und „Create Self-Service Shortcut (Single Sign On)“ verwendet.
© Aagon GmbH 2025
Besuchen Sie unsere neue Aagon-Community