Object Action Erweiterung¶
Einleitung¶
Die Objekt Action Erweiterung fügt im Raptor System für ausgewählte Objekttypen eine Aktions-Schaltfläche hinzu. Wenn du diese Schaltfläche klickst, führt sie den Aktionsbefehl mit Namen, Typ und Kontext als Parameter aus. Standardmäßig verwendet sie den Objekttyp als Profilparameter. Mithilfe von Profilüberschreibungen kannst du das Profil für Gruppen von Objekten ändern, deren Wert einer regulären Ausdruck entspricht.
Fakten¶
Name |
Object Action |
Bezeichner |
|
Version |
2.0 |
Funktionen |
Adapter |
Abschnitte |
|
Informationsblöcke |
|
Trace-Sections |
|
Funktionsweise¶
Die Objekt Action Erweiterung ist eine Adapter-Erweiterung, die eine Aktion für alle oder ausgewählte Objekte im Raptor-System hinzufügt. Siehe Wie die Werte im Client angezeigt werden, wie die hinzugefügte Aktion im Client aussehen wird.
Arbeiten als Adapter¶
Die Erweiterung arbeitet als Adapter. Sie wartet auf Objekte, die von anderen Erweiterungen generiert werden, wie zum Beispiel der Active Directory Erweiterung, und fügt diesen Objekten die Aktion hinzu.
Sobald ein neues Objekt erstellt wird, fügt der Adapter in der konfigurierten Sektion einen neuen Wert mit einer einzelnen Aktion hinzu, um das Programm aufzurufen das für die Aktionen konfiguriert ist.
Das Programm für die Aktionen ist in der Hauptkonfiguration des Raptor-Systems konfiguriert. Siehe dazu auch Die Gruppe ActionHandler.
Parameter¶
Das Aktions-Programm wird mit einer Reihe von Parametern gestartet. Alle Parameter haben dieses Format:
--example=foo
Hier ist der Parametername example und der Wert ist foo.
Diese Erweiterung fügt dem konfigurierten Aktions-Programm drei Parameter hinzu:
profile
name
context
Der profile-Parameter erhält den Typ des Objekts in Kleinbuchstaben als Wert. Die Parameter name und context erhalten den Namen und den Kontext des Objekts als Wert.
Beispiel¶
Nehmen wir an, du hast das Aktions-Programm in der Hauptkonfiguration von Raptor wie folgt konfiguriert:
<Module name="Data">
...
<Group name="ActionHandler">
<Value name="Command">ActionsClient.exe</Value>
<Value name="DefaultArguments"></Value>
</Group>
...
</Module>
Das Beispiel verwendet ActionsClient.exe als Aktions-Programm. In einer echten Konfiguration würdest du einen absoluten Pfad zur gewählten Anwendung hinzufügen.
Wenn ein neues Benutzerobjekt mit dem Namen johndoe und dem Kontext example.org erstellt wird, fügt die Objekt Action Erweiterung diesem Objekt eine Aktions-Schaltfläche hinzu.
Diese Aktions-Schaltfläche startet das Aktions-Programm mit den folgenden Befehlszeilenargumenten:
ActionsClient.exe --profile=user --name=johndoe --context=example.org
Der Typ, Name und Kontext des Objekts werden automatisch als Befehlszeilenparameter dem Aktions-Programm hinzugefügt.
In der aktuellen Version können die Parameternamen profile, name und context nicht konfiguriert werden. Außerdem verwendet die Erweiterung immer das Aktions-Programm aus der Raptor-Hauptkonfiguration.
Wenn dies für dein Projekt problematisch ist, empfehlen wir die Verwendung eines kleinen Python-Wrapper-Skripts, das die Parameter konvertiert und dein Aktions-Programm auf die richtige Weise aufruft.
Wir bieten das Actions-System als empfohlene Lösung für das Aktions-Programm an. Es handelt sich dabei um eine Server-Client Lösung, welche ein interaktives Fenster anzeigt um Programme lokal oder serverseitig mit unterschiedlichen Berechtigungen auszuführen.
Konfiguration¶
Das Konfigurationsschema¶
Module
ObjectAction
List
Complex list definition
Must not be empty.
Must not be empty.
Maximum length:
128
Must match this regular expression:
[^\p{Zl}\p{Zp}\p{C}]+
Must not be empty.
Must not be empty.
Must be a valid regular expression.
Must be one of this:
All
,User
,Computer
,Process
,Application
Must not have duplicates.
Default Value:
All
Minimum value:
1
Maximum value:
1000
Must not be empty.
Minimum length:
1
Maximum length:
64
Must match this regular expression:
[a-z]+
Default Value:
primary
Must not be empty.
Maximum length:
128
Must match this regular expression:
[^\p{Zl}\p{Zp}\p{C}]+
Default Value:
Action
Must be one of this:
All
,User
,Computer
,Process
,Application
Must not have duplicates.
Default Value:
All
Must not be empty.
Maximum length:
128
Must match this regular expression:
[^\p{Zl}\p{Zp}\p{C}]+
Default Value:
Execute Object Action
Die Liste ProfileOverride
¶
Mit den Definitionen in dieser Liste kannst du den Profil-Parameter überschreiben, der an das Aktions-Programm weitergegeben wird. Standardmäßig wird der Objekttyp als --profile=
Parameter in Kleinbuchstaben an das Aktions-Programm weitergegeben. Wenn einer der Einträge in dieser Liste seinen Kriterien entspricht, wird der alternative Profilname an das Programm weitergegeben.
Alle Einträge werden in der angegebenen Reihenfolge getestet. Der erste Treffer wird verwendet, und es werden keine weiteren Einträge auf Übereinstimmungen getestet.
1<Module name="ObjectAction">
2 <List name="ProfileOverride">
3 <ListEntry>
4 <Value name="Profile">server</Value>
5 <Value name="ValuePath">AD_Primary/ldapPath</Value>
6 <Value name="RegExp">CN=(?:Computers|Prd_Citrix)</Value>
7 </ListEntry>
8 <ListEntry>
9 <Value name="Profile">admin</Value>
10 <Value name="ValuePath">AD_Primary/ldapPath</Value>
11 <Value name="RegExp">OU=Admin</Value>
12 </ListEntry>
13 </List>
14 ...
15</Module>
Der Wert Profile
¶
Mit dem Wert Profile
definierst du den neuen Profilnamen, der an den Parameter --profile=
weitergegeben wird, wenn die Kriterien dieses Eintrags übereinstimmen. Der Profilname hilft dabei, die jeweilige Aktion im Aktions-Programm zu identifizieren und entsprechend zu behandeln.
1<Module name="ObjectAction">
2 <List name="ProfileOverride">
3 <ListEntry>
4 <Value name="Profile">server</Value>
5 <Value name="ValuePath">AD_Primary/ldapPath</Value>
6 <Value name="RegExp">CN=(?:Computers|Prd_Citrix)</Value>
7 </ListEntry>
8 <ListEntry>
9 <Value name="Profile">admin</Value>
10 <Value name="ValuePath">AD_Primary/ldapPath</Value>
11 <Value name="RegExp">OU=Admin</Value>
12 </ListEntry>
13 </List>
14 ...
15</Module>
In diesem Beispiel gibt es zwei ProfileOverride
-Einträge. Der erste Eintrag verwendet den Profilnamen server
und der zweite Eintrag verwendet den Profilnamen admin
. Diese Profilnamen werden an das Aktions-Programm weitergegeben, wenn die Kriterien für den jeweiligen Eintrag übereinstimmen.
Der Wert ActionTitle
¶
Mit dem optionale Wert ActionTitle
überschreibst du den Titel der Aktion, wenn die Regel übereinstimmt. Der Titel der Aktion wird im Client angezeigt und hilft den Benutzern, die Aktion leichter zu identifizieren. In der Illustration Wie die Werte im Client angezeigt werden neben Punkt A siehst du wie der Titel im Client angezeigt wird.
Wenn du diesen Wert weglässt, wird der Standard-Aktionstitel verwendet. Du kannst einen benutzerdefinierten Standard-Aktionstitel für alle Objekte mit dem Wert ActionTitle
in der Modulkonfiguration festlegen.
1<Module name="ObjectAction">
2 <List name="ProfileOverride">
3 <ListEntry>
4 <Value name="Profile">server</Value>
5 <Value name="ValuePath">AD_Primary/ldapPath</Value>
6 <Value name="RegExp">CN=(?:Computers|Prd_Citrix)</Value>
7 <Value name="ActionTitle">Server Aktion</Value>
8 </ListEntry>
9 <ListEntry>
10 <Value name="Profile">admin</Value>
11 <Value name="ValuePath">AD_Primary/ldapPath</Value>
12 <Value name="RegExp">OU=Admin</Value>
13 <Value name="ActionTitle">Admin Aktion</Value>
14 </ListEntry>
15 </List>
16 ...
17</Module>
In diesem Beispiel werden die Aktionstitel Server Aktion und Admin Aktion verwendet, wenn die entsprechenden Regeln in der ProfileOverride
-Liste übereinstimmen. Diese benutzerdefinierten Titel helfen Benutzern, die spezifische Aktion leichter zu identifizieren, wenn sie im Client angezeigt wird.
Wenn keine ProfileOverride
-Regel zutrifft, wird der Standard-Aktionstitel verwendet, der entweder in der Modulkonfiguration festgelegt oder auf den Standardwert Execute Object Action zurückgesetzt wird, wenn kein benutzerdefinierter Standard-Aktionstitel angegeben ist.
Der Wert ValuePath
¶
Mit dem Wert ValuePath
definierst du einen Pfad dessen Wert mit dem regulären Ausdruck getestet werden soll. Dieser Pfad besteht aus dem Informationsblock-Identifikator, einen Schrägstrich und dem Wert-Identifikator.
Du kannst nur permanente Werte testen. Werte, die mit einer Verzögerung bereitgestellt oder auf Anfrage abgerufen werden, können nicht getestet werden. Wenn du Werte auf Anfrage angibst, kann dies zu verschiedenen Problemen mit dem Caching führen.
Es gibt drei spezielle Pfade, um die Informationen im Objektlokator zu testen:
objectLocator/name
objectLocator/type
objectLocator/context
Beispiel: Um den Wert ldapPath
im Informationsblock ActiveDirectory
zu testen, gibst du den String ActiveDirectory/ldapPath
an.
1<Module name="ObjectAction">
2 <List name="ProfileOverride">
3 <ListEntry>
4 <Value name="Profile">server</Value>
5 <Value name="ValuePath">AD_Primary/ldapPath</Value>
6 <Value name="RegExp">CN=(?:Computers|Prd_Citrix)</Value>
7 </ListEntry>
8 <ListEntry>
9 <Value name="Profile">admin</Value>
10 <Value name="ValuePath">AD_Primary/ldapPath</Value>
11 <Value name="RegExp">OU=Admin</Value>
12 </ListEntry>
13 </List>
14 ...
15</Module>
Der Wert RegExp
¶
Mit dem Wert RegExp
definierst du einen term:regulärer Ausdruck<Regulärer Ausdruck>, der auf den Wert angewendet wird. Wenn der reguläre Ausdruck übereinstimmt, wird der Profilname mit dem angegebenen Wert überschrieben. Dabei kannst du beliebige Perl kompatible reguläre Ausdrücke verwenden.
1<Module name="ObjectAction">
2 <List name="ProfileOverride">
3 <ListEntry>
4 <Value name="Profile">server</Value>
5 <Value name="ValuePath">AD_Primary/ldapPath</Value>
6 <Value name="RegExp">CN=(?:Computers|Prd_Citrix)</Value>
7 </ListEntry>
8 <ListEntry>
9 <Value name="Profile">admin</Value>
10 <Value name="ValuePath">AD_Primary/ldapPath</Value>
11 <Value name="RegExp">OU=Admin</Value>
12 </ListEntry>
13 </List>
14 ...
15</Module>
Der Wert ObjectTypes
¶
Mit dem optionalen Wert ObjectTypes
kannst du die Regel auf bestimmte Objekttypen beschränken. Gib dazu eine durch Leerzeichen getrennte Liste der folgenden Objekttyp-Identifikatoren an:
All
User
Computer
Process
Application
Wenn dieser Wert konfiguriert ist, wird die Regel nur für die angegebenen Objekttypen angewendet.
Die folgende Regel trifft nur auf Benutzer- und Computerobjekte zu:
1<Module name="ObjectAction">
2 <List name="ProfileOverride">
3 <ListEntry>
4 ...
5 <Value name="ObjectTypes">
6 User
7 Computer
8 </Value>
9 ...
10 </ListEntry>
11 </List>
12 ...
13</Module>
Die nächste Regel trifft nur auf Prozessobjekte zu:
1<Module name="ObjectAction">
2 <List name="ProfileOverride">
3 <ListEntry>
4 ...
5 <Value name="ObjectTypes">Process</Value>
6 ...
7 </ListEntry>
8 </List>
9 ...
10</Module>
Der Identifikator All
passt immer auf alle Objekte, auch wenn du andere Identifikatoren konfigurierst. Das folgende Beispiel trifft auf alle Objekte zu. Daher ist es nicht sinnvoll, es wie gezeigt zu konfigurieren. Du solltest den Identifikator Computer
weglassen oder besser gleich den kompletten Konfigurationswert.
1<Module name="ObjectAction">
2 <List name="ProfileOverride">
3 <ListEntry>
4 ...
5 <Value name="ObjectTypes">
6 All
7 Computer
8 </Value>
9 ...
10 </ListEntry>
11 </List>
12 ...
13</Module>
Wenn du den Wert ObjectTypes
weglässt, passt die Regel auf Werte für alle Objekte.
Der Wert OrderIndex
¶
Mit dem Wert OrderIndex
definierst du die Position des Aktionswerts innerhalb des konfigurierten Abschnitts. Dazu definierst du einen Reihenfolgeindex zwischen 1
und 1000
.
Die folgende Illustration zeigt ein Beispiel, wie die Reihenfolgeindexe der Felder die Reihenfolge der Werte innerhalb jedes Abschnitts definieren.
1<Module name="ObjectAction">
2 ...
3 <Value name="OrderIndex">100</Value>
4 ...
5</Module>
Der Wert Section
¶
Mit dem optionalen Wert Section
verschiebst du das Feld mit dem Aktionsknopf in einen anderen Abschnitt. Du konfigurierst hier den Bezeichner des Abschnitts. Aus diesem Bezeichner wird dann automatisch der Titel gebildet. Der Bezeichner darf maximal 64 Zeichen enthalten und nur Buchstaben enthalten.
Felder welche den selben Abschnittsbezeichner haben, werden automatisch unter diesem Abschnitt zusammengefasst. Es spielt dabei keine Rolle, ob der Abschnitt von dieser, oder einer anderen Erweiterung erstellt wurde. Einige zusätzliche Informationen zu den Abschnitten findest du im Kapitel Der Wert SectionOrder.
In der Illustration Wie die Werte im Client angezeigt werden neben Punkt C siehst du wie der Abschnitt im Client angezeigt wird.
1<Module name="ObjectAction">
2 ...
3 <Value name="OrderIndex">100</Value>
4 ...
5</Module>
Lässt du diesen Wert weg wird der Standartwert primary
verwendet.
Der Wert ValueLabel
¶
Der optionale Wert ValueLabel
konfiguriert ein benutzerdefiniertes Label für die Zeile mit der Objektaktion. In der Illustration Wie die Werte im Client angezeigt werden neben Punkt B siehst du wie das Label im Client angezeigt wird.
Wenn du diesen Wert weglässt, wird das Standardlabel Action verwendet.
1<Module name="ObjectAction">
2 ...
3 <Value name="ValueLabel">Object Action</Value>
4 ...
5</Module>
Der Wert EnabledForObject
¶
Mit dem optionalen Wert EnabledForObject
konfiguriert die Objekte, für die die Objektaktion angezeigt werden soll. Gib eine durch Leerzeichen getrennte Liste der folgenden Objekttyp-Identifikatoren an:
All
User
Computer
Process
Application
Wenn dieser Wert konfiguriert ist, wird die Objektaktion nur für die angegebenen Objekte angezeigt.
Die folgende Konfiguration zeigt die Objektaktion nur für Benutzer- und Computerobjekte:
1<Module name="ObjectAction">
2 ...
3 <Value name="EnabledForObject">
4 User
5 Computer
6 </Value>
7 ...
8</Module>
Wenn du diesen Wert weglässt, wird die Objektaktion für alle Objekte angezeigt.
Der Wert ActionTitle
¶
Der optionale Wert ActionTitle
konfiguriert den Standardtitel für alle Aktionen. In der Illustration Wie die Werte im Client angezeigt werden neben Punkt A siehst du wie der Titel im Client angezeigt wird.
Du kannst diesen Standardtitel mit den Regeln, die in ProfileOverride
konfiguriert sind, überschreiben.
Wenn du diesen Wert weglässt, wird der Standard-Aktionstitel Execute Object Action verwendet.
1<Module name="ObjectAction">
2 ...
3 <Value name="ActionTitle">Run Action</Value>
4 ...
5</Module>