Client Command Variablen
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:
Projektvariablen | Diese Variablen bestehen nur in dem aktuellen Projekt und können nicht in anderen Projekten genutzt werden. | |
Console Variablen | Diese 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. | |
Systemvariablen | 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. | |
Globale ACMP Variablen | Diese 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. |
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 -Symbol.
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.
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.
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:
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.
Name | Beschreibung |
CONSOLE_EXECUTION_ID | Beinhaltet eine GUID, die die Ausführung des Console Skripts eindeutig identifiziert. |
CONTAINER_PATH | 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. |
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).
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:
GUI | Wurde ein Client Command über den ACMP Kiosk und vom Command Launcher auf einem Client ausgeführt, nimmt der %CallerType% diesen Wert an. |
CONSOLE | Wurde das Client Command automatisch aus der ACMP Console heraus ausgeführt, wird der %CallerType% mit diesem Wert befüllt. |
CLIENTSVC | Wurde 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. |
Rollout | Wurde 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.
Folgende Variablen werden standardmäßig mitgeliefert:
DEPARTMENT | Die globalen Variable „DEPARTMENT“ wird vom mitgelieferten Client Command „Client Location“ und „Client Location (Configuration)“ im „Data Collection“-Ordner verwendet. |
LOCATION | Die globalen Variable „LOCATION“ wird vom mitgelieferten Client Command „Client Location“ und „Client Location (Configuration)“ im „Data Collection“-Ordner verwendet. |
URL_HELPDESK | Diese Variable wird im Client Command „Create Helpdesk Shortcut“ verwendet. |
URL_SELFSERVICE | Diese Variable wird in den Client Commands „Create Self-Service Shortcut“ und „Create Self-Service Shortcut (Single Sign On)“ verwendet. |