Azure Cloud Datenquelle¶
Einleitung¶
Die Azure Cloud Datenquelle ermöglicht den Abruf von Session-Daten aus einem oder mehreren Systemen über die Azure Virtual Desktop API. Die abgerufenen Session-Daten, einschließlich aller verknüpften Computer- und Benutzerobjekte, werden nahtlos in das Raptor System integriert.
Fakten¶
Name |
Azure Cloud Data |
Bezeichner |
|
Version |
1.2 |
Funktionen |
Datenquelle |
Abschnitte |
|
Informationsblöcke |
|
Features¶
Integration
Nahtlose Integration der Daten aus einer oder mehreren Azure Virtual Desktop API Schnittstellen in das Raptor System.
Unterstützung für mehrere Verbindungen, jede mit einem individuellen Objekt Kontext.
Konfiguration
Frei konfigurierbare Tabellenfelder zur Anpassung der angezeigten Informationen.
Flexibel anpassbare Objektfelder für die Darstellung auf jeder Objektseite.
Möglichkeit zur Konfiguration eines Proxyservers für die Verbindungen.
Anpassbare Auswahl der Quelle für den Benutzernamen.
Aktionen
Benutzerdefinierte Aktionsknöpfe für Zeilen in jeder Tabelle, um spezifische Aktionen zu ermöglichen.
Möglichkeit, Aktionsknöpfe auch auf Objektebene hinzuzufügen, um benutzerdefinierte Workflows zu unterstützen.
Konfiguration¶
Das Konfigurationsschema¶
Module
AzureCloudData
Must not be empty.
Minimum length:
1
Maximum length:
64
Must match this regular expression:
[a-z]+
Default Value:
azureCloudData
Complex list definition
List
Complex list definition
Maximum length:
64
Must match this regular expression:
[A-Z][A-Za-z0-9]+
Must not be empty.
Maximum length:
64
Must match this regular expression:
[^\p{Zl}\p{Zp}\p{C}]+
Must not be empty.
Minimum value:
1
Maximum value:
64
Must match this regular expression:
[a-z]+
Minimum value:
1
Maximum value:
1000
Default Value:
Yes
Complex list definition
Must not be empty.
Maximum length:
64
Must match this regular expression:
[^\p{Zl}\p{Zp}\p{C}]+
Complex list definition
Must be one of this:
SessionList
,SessionHostList
Must be one of this:
Any
,Computer
,User
,Session
Default Value:
Any
List
Complex list definition
Minimum length:
2
Maximum length:
64
Must match this regular expression:
[A-Z][a-zA-Z]+
Must not be empty.
Maximum length:
64
Must match this regular expression:
[^\p{Zl}\p{Zp}\p{C}]+
Default Value:
Yes
Default Value:
No
Must not be empty.
Maximum length:
64
Must match this regular expression:
[a-z0-9]+
Complex list definition
Must not be empty.
Maximum length:
64
Must match this regular expression:
[^\p{Zl}\p{Zp}\p{C}]+
List
Complex list definition
Must not be empty.
Must match this regular expression:
[-_a-z0-9]+
Maximum length:
50
Must not be empty.
Must match this regular expression:
[-a-z0-9_\.]+
Maximum length:
50
Must not be empty.
Must match this regular expression:
[-a-z0-9_\.]+
Maximum length:
50
Must not be empty.
Must match this regular expression:
https://[-._a-z0-9]+\.[a-z]{2,4}/.*
Maximum length:
250
Default Value:
https://management.azure.com/.default
Must not be empty.
Maximum length:
250
Must not be empty.
Maximum length:
50
Must not be empty.
Maximum length:
50
Minimum value:
60
Maximum value:
86400
Default Value:
600
Must match this regular expression:
https://[-._a-z0-9]+\.[a-z]{2,4}/
Default Value:
https://management.azure.com/
Must match this regular expression:
https://[-._a-z0-9]+\.[a-z]{2,4}/
Default Value:
https://login.microsoftonline.com/
Must be one of this:
Name
,Sid
,Guid
,DistinguishedName
,CanonicalName
,SamName
,SamAccountName
,CommonName
,PrincipalName
Default Value:
Name
Must not be empty.
Must be a valid regular expression.
Der Wert SectionIdentifier
¶
Der optionale Wert SectionIdentifier
legt fest, in welchem Abschnitt die Tabellen dieser Quelle angezeigt werden. Der angegebene Bezeichner wird automatisch als Titel des Abschnitts verwendet und darf maximal 64 Zeichen umfassen.
Felder mit dem gleichen Abschnittsbezeichner werden automatisch unter diesem Abschnitt gruppiert, unabhängig davon, ob der Abschnitt von dieser oder einer anderen Erweiterung erstellt wurde. Weitere Informationen zu den Abschnitten findest du im Kapitel Der Wert SectionOrder.
Wird der Wert SectionIdentifier
nicht definiert, wird standardmäßig azureCloudData
verwendet, der im Client als Azure Cloud Data angezeigt wird.
Beispielkonfiguration:
1<Module name="AzureCloudData">
2 ...
3 <Value name="SectionIdentifier">azureCloudData</Value>
4 ...
5</Module>
Der Wert OrderIndex
¶
Mit dem optionalen Wert OrderIndex
setzt du eine individuelle Position wo die Tabellen innerhalb des Abschnitts platziert werden. Dazu definierst du hier einen Reihenfolgeindex zwischen 1
und 1000
. Lässt du den Wert weg, wird 100
verwendet.
1<Module name="AzureCloudData">
2 ...
3 <Value name="OrderIndex">700</Value>
4 ...
5</Module>
Die folgende Illustration zeigt ein Beispiel wie der Reihenfolgeindex des Felds die Reihenfolge innerhalb jedes Abschnitts definiert.
Die Liste ObjectFields
¶
Mit der Liste ObjectFields
konfigurierst du welche Felder für die einzelnen Objekte angezeigt werden. Weiter kannst du für jedes Feld individuell einen den Titel oder die Reihenfolge ändern, oder das Feld in einem anderen Abschnitt platzieren.
1<Module name="AzureCloudData">
2 ...
3 <List name="ObjectFields">
4 <ListEntry>
5 <Value name="ObjectType">Computer</Value>
6 <List name="Fields">
7 ...
8 </List>
9 </ListEntry>
10 </List>
11 ...
12</Module>
Der Wert ObjectType
¶
Mit dem Wert ObjectType
definierst du für welchen Objekttyp du eine Konfiguration erstellst. Bei dieser Erweiterung kannst du zwischen Computer
und User
wählen.
1<Module name="AzureCloudData">
2 ...
3 <List name="ObjectFields">
4 <ListEntry>
5 <Value name="ObjectType">Computer</Value>
6 <List name="Fields">
7 ...
8 </List>
9 </ListEntry>
10 <ListEntry>
11 <Value name="ObjectType">User</Value>
12 <List name="Fields">
13 ...
14 </List>
15 </ListEntry>
16 </List>
17 ...
18</Module>
Die Liste Fields
¶
Die Listen Fields
definiert die angezeigten Felder in dem konfigurierten Objekt. Alle Details findest du im Kapitel Objektkonfiguration.
Alle möglichen Felder für diese Konfiguration findest du im Kapitel Die Objektfelder weiter unten.
Konfigurationsbeispiel:
1<Module name="AzureCloudData">
2 ...
3 <List name="ObjectFields">
4 <ListEntry>
5 <Value name="ObjectType">Computer</Value>
6 <List name="Fields">
7 <ListEntry>
8 <Value name="Identifier">ObjectId</Value>
9 <Value name="IsVisible">No</Value>
10 </ListEntry>
11 <ListEntry>
12 <Value name="Identifier">NameHost</Value>
13 <Value name="Title">Host Name</Value>
14 </ListEntry>
15 <ListEntry>
16 <Value name="Identifier">IdSubscription</Value>
17 <Value name="Title">Subscription</Value>
18 </ListEntry>
19 <ListEntry>
20 <Value name="Identifier">IdResourceGroup</Value>
21 <Value name="Title">Ressource Group</Value>
22 <List name="Actions">
23 <ListEntry>
24 <Value name="Label">Custom Action 1</Value>
25 <Value name="Arguments">
26 object-id={value}
27 host={value}
28 </Value>
29 </ListEntry>
30 <ListEntry>
31 <Value name="Label">Custom Action 2</Value>
32 <Value name="Arguments">
33 object-id={value}
34 host={value:NameHost}
35 </Value>
36 </ListEntry>
37 </List>
38 </ListEntry>
39 <ListEntry>
40 <Value name="Identifier">IdHostPool</Value>
41 <Value name="Title">Host Pool</Value>
42 </ListEntry>
43 <ListEntry>
44 <Value name="Identifier">LastHeartBeat</Value>
45 </ListEntry>
46 <ListEntry>
47 <Value name="Identifier">StatusTimestamp</Value>
48 </ListEntry>
49 <ListEntry>
50 <Value name="Identifier">LastUpdateTime</Value>
51 </ListEntry>
52 <ListEntry>
53 <Value name="Identifier">OsVersion</Value>
54 </ListEntry>
55 <ListEntry>
56 <Value name="Identifier">UpdateState</Value>
57 </ListEntry>
58 <ListEntry>
59 <Value name="Identifier">SessionList</Value>
60 </ListEntry>
61 </List>
62 </ListEntry>
63 </List>
64 ...
65</Module>
Die Liste Tables
¶
Mit der Liste Tables
konfigurierst du die verschiedenen Tabellen der Erweiterung. In der aktuellen Version dieser Datenquelle gibt es nur ein Tabellentyp: Session
.
Jeder Eintrag in dieser Liste wählt einen Tabellentyp mit dem Wert TableType
, und ein Objekttyp mit dem Wert ObjectType
. Dabei werden die Einträge in dieser Liste in der Reihenfolge in der sie definiert werden abgearbeitet. Passt sowohl der Tabellentyp wie auch der Objekttyp dann werden die Einträge der Tabellenspalten und Tabellenaktionen übernommen.
Der Wert TableName
¶
Der Wert TableName
definierst welche Tabelle du mit den folgenden Werten konfigurierst. Hier kannst du entweder SessionList
oder SessionHostList
angeben. Nur das Benutzerobjekt unterstützt beide Tabellen, das Computerobjekt enthält nur die SessionList
.
1<Module name="AzureCloudData">
2 ...
3 <List name="Tables">
4 <ListEntry>
5 <Value name="TableName">SessionList</Value>
6 <Value name="ObjectType">User</Value>
7 ...
8 </ListEntry>
9 <ListEntry>
10 <Value name="TableName">SessionList</Value>
11 <Value name="ObjectType">Any</Value>
12 ...
13 </ListEntry>
14 </List>
15 ...
16</Module>
Der Wert ObjectType
¶
Der optionale Wert ObjectType
schränkt die Tabellenkonfiguration auf einen bestimmten Objekttyp ein. Möglich sind dabei alle gültigen Objekttypen des Raptor Systems, sowie dem Wert Any
der auf alle Objekttypen passt.
Any
Computer
User
Lässt du den Wert weg, wird der Default Any
verwendet.
1<Module name="AzureCloudData">
2 ...
3 <List name="Tables">
4 <ListEntry>
5 <Value name="TableType">Session</Value>
6 <Value name="ObjectType">User</Value>
7 ...
8 </ListEntry>
9 <ListEntry>
10 <Value name="TableType">Session</Value>
11 <Value name="ObjectType">Any</Value>
12 ...
13 </ListEntry>
14 </List>
15 ...
16</Module>
Die Listen TableColumns
und TableActions
¶
Die beiden Listen TableColumns
und TableActions
definieren die angezeigten Spalten und Aktionen in der Tabelle. Alle Details findest du im Kapitel Tabellenkonfiguration.
Alle möglichen Felder für diese Konfiguration findest du im Kapitel Die Tabellenfelder weiter unten.
Konfigurationsbeispiel:
1<Module name="AzureCloudData">
2 ...
3 <List name="Tables">
4 <ListEntry>
5 <Value name="TableType">Session</Value>
6 <Value name="ObjectType">User</Value>
7 <List name="TableColumns">
8 <ListEntry>
9 <Value name="Identifier">ObjectId</Value>
10 <Value name="IsActionParameter">Yes</Value>
11 </ListEntry>
12 <ListEntry>
13 <Value name="Identifier">SessionState</Value>
14 </ListEntry>
15 <ListEntry>
16 <Value name="Identifier">UserName</Value>
17 </ListEntry>
18 <ListEntry>
19 <Value name="Identifier">CreateTime</Value>
20 </ListEntry>
21 <ListEntry>
22 <Value name="Identifier">Actions</Value>
23 </ListEntry>
24 </List>
25 <List name="TableActions">
26 <ListEntry>
27 <Value name="Label">User Action</Value>
28 <Value name="Arguments">action=usertest</Value>
29 </ListEntry>
30 </List>
31 </ListEntry>
32 <ListEntry>
33 <Value name="TableType">Session</Value>
34 <Value name="ObjectType">Any</Value>
35 <List name="TableColumns">
36 <ListEntry>
37 <Value name="Identifier">ObjectId</Value>
38 <Value name="IsActionParameter">Yes</Value>
39 </ListEntry>
40 <ListEntry>
41 <Value name="Identifier">SessionState</Value>
42 </ListEntry>
43 <ListEntry>
44 <Value name="Identifier">UserName</Value>
45 </ListEntry>
46 <ListEntry>
47 <Value name="Identifier">Actions</Value>
48 </ListEntry>
49 </List>
50 <List name="TableActions">
51 <ListEntry>
52 <Value name="Label">Common Action</Value>
53 <Value name="Arguments">action=commontest</Value>
54 </ListEntry>
55 </List>
56 </ListEntry>
57 </List>
58 ...
59</Module>
Die Liste Connections
¶
Mit der Liste Connections
konfigurierst du die einzelnen Verbindungen zu der Azure Desktop Cloud API. Jeder Eintrag in dieser Liste definiert einen individuellen Verbindungsaufbau mit unabhängigen Tenant Identifier, Client Identifier, Client Secret und Subscription Identifier.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 <Value name="ClientId">...</Value>
8 <Value name="ClientSecret">...</Value>
9 <Value name="TenantId">...</Value>
10 <Value name="SubscriptionId">...</Value>
11 </ListEntry>
12 ...
13 </List>
14 ...
15</Module>
Der Wert Name
¶
Mit dem Wert Name
definierst du einen eindeutigen Namen für die Verbindung. Dieser Name wird in Logdateien und Fehlermeldungen verwendet, damit du ein Problem der Verbindung zuordnen kannst.
Der Verbindungsname muss eindeutig sein, aus maximal 50 Zeichen bestehen und nur Buchstaben, Zahlen, den Unterstrich und Bindestrich enthalten.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 <Value name="ClientId">...</Value>
8 <Value name="ClientSecret">...</Value>
9 <Value name="TenantId">...</Value>
10 <Value name="SubscriptionId">...</Value>
11 </ListEntry>
12 ...
13 </List>
14 ...
15</Module>
Der Wert ObjectContext
¶
Mit dem Wert ObjectContext
setzt du den Kontext für alle Objekte welche für diesen Active Directory. Hier kannst du maximal 50 Zeichen mit Buchstaben, Zahlen, dem Unterstrich _
oder Punkten .
angeben.
Wir empfehlen das du einen einheitlichen Kontext für alle zusammengehörenden Objekte im Raptor Server konfigurierst. Verwende beispielsweise für die Domäne example.com
den Kontext example
in allen Erweiterungen.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 <Value name="ClientId">...</Value>
8 <Value name="ClientSecret">...</Value>
9 <Value name="TenantId">...</Value>
10 <Value name="SubscriptionId">...</Value>
11 </ListEntry>
12 ...
13 </List>
14 ...
15</Module>
Der Wert TenantId
¶
Mit dem Wert TenantId
setzt du den Bezeichner für den Azure AD-Mandant. Ein Azure AD-Mandant ist im Wesentlichen eine Instanz von Azure Active Directory, die eine Organisation und ihre Ressourcen repräsentiert.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 <Value name="ClientId">...</Value>
8 <Value name="ClientSecret">...</Value>
9 <Value name="TenantId">...</Value>
10 <Value name="SubscriptionId">...</Value>
11 </ListEntry>
12 ...
13 </List>
14 ...
15</Module>
Der Wert Scope
¶
Mit dem optionalen Wert Scope
, kannst du den Zugriff der Erweiterung auf die Cloud-Ressourcen weiter limitieren. Lässt du diesen Wert weg, wird der folgende Default verwendet:
https://management.azure.com/.default
Bemerkung
Wir raten dir von einer Veränderung dieses Wertes ab. Bitte verändere diesen Wert nur nach Rücksprache mit unserem Support Team.
Der Wert ClientId
¶
Mit dem Wert ClientId
definierst du den Client Identifier der für den Verbindungsaufbau verwendet wird.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 <Value name="ClientId">...</Value>
8 <Value name="ClientSecret">...</Value>
9 <Value name="TenantId">...</Value>
10 <Value name="SubscriptionId">...</Value>
11 </ListEntry>
12 ...
13 </List>
14 ...
15</Module>
Der Wert ClientSecret
¶
Mit dem Wert ClientSecret
legst du das Client-Secret für die Authentifizierung fest. Achte darauf, das Secret entsprechend zu schützen. Informationen zum Kodieren von Passwörtern und Secrets findest du im Kapitel Kodieren von Passwörtern.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 <Value name="ClientId">...</Value>
8 <Value name="ClientSecret">...</Value>
9 <Value name="TenantId">...</Value>
10 <Value name="SubscriptionId">...</Value>
11 </ListEntry>
12 ...
13 </List>
14 ...
15</Module>
Der Wert SubscriptionId
¶
Mit dem Wert SubscriptionId
setzt du den Bezeichner für die Abonnementinstanz. Ein Azure-Abonnement ist im Wesentlichen eine Abrechnungseinheit, die es ermöglicht, Azure-Ressourcen zu nutzen und dafür zu bezahlen.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 <Value name="ClientId">...</Value>
8 <Value name="ClientSecret">...</Value>
9 <Value name="TenantId">...</Value>
10 <Value name="SubscriptionId">...</Value>
11 </ListEntry>
12 ...
13 </List>
14 ...
15</Module>
Der Wert StartupDelay
¶
Mit dem optionalen Wert StartupDelay
kannst du die Verzögerung in Sekunden festlegen, die vor der ersten Anfrage nach dem Start der Erweiterung gewartet werden soll.
Lässt du den Wert weg, wird der Standardwert von 10
Sekunden verwendet.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 ...
8 <Value name="StartupDelay">60</Value>
9 ...
10 </ListEntry>
11 ...
12 </List>
13 ...
14</Module>
Der Wert RetrievalInterval
¶
Mit dem optionalen Wert DelayAfterError
kannst du das Intervall zwischen zwei Abfragen in Sekunden festlegen. Dieser Wert definiert die Zeit, die zwischen den Abfragen vergeht.
Lässt du den Wert weg, wird der Standardwert von 60
Sekunden verwendet.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 ...
8 <Value name="DelayAfterError">120</Value>
9 ...
10 </ListEntry>
11 ...
12 </List>
13 ...
14</Module>
Der Wert DelayAfterError
¶
Mit dem optionalen Wert DelayAfterError
kannst du die Verzögerung in Sekunden nach einem Fehler oder einer unerwarteten Antwort von der API festlegen.
Lässt du den Wert weg, wird der Standardwert von 10 Sekunden verwendet.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 ...
8 <Value name="DelayAfterError">120</Value>
9 ...
10 </ListEntry>
11 ...
12 </List>
13 ...
14</Module>
Der Wert ErrorCountToEscalate
¶
Mit dem optionalen Wert ErrorCountToEscalate
kannst du festlegen, wie viele Fehler auftreten dürfen, bevor das Problem als Fehler gemeldet wird. Dieser Wert stellt den Schwellenwert für die Eskalation des Problems dar.
Lässt du den Wert weg, wird der Standardwert 10
verwendet.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 ...
8 <Value name="ErrorCountToEscalate">5</Value>
9 ...
10 </ListEntry>
11 ...
12 </List>
13 ...
14</Module>
Der Wert DelayAfterErrorEscalation
¶
Mit dem optionalen Wert DelayAfterErrorEscalation
änderst du, wie lange bis zum nächsten Verbindungsaufbau nach einem Fehler gewartet werden soll. Der Wert ist die Anzahl der Sekunden der totalen Wartezeit.
Lässt du den Wert weg, wird der Default von 600
Sekunden verwendet.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 ...
8 <Value name="DelayAfterErrorEscalation">2400</Value>
9 ...
10 </ListEntry>
11 ...
12 </List>
13 ...
14</Module>
Der Wert RequestTimeout
¶
Mit dem optionalen Wert RequestTimeout
, änderst du wie lange die Erweiterung auf eine Antwort vom Cloud Server warten soll. Der Wert ist die Anzahl der Sekunden der totalen Wartezeit. Wird die Zeitspanne überschritten, wird der Verbindungsaufbau mit einem Fehler abgebrochen.
Lässt du den Wert weg, wird der Default von 300
Sekunden verwendet.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 ...
8 <Value name="RequestTimeout">1200</Value>
9 ...
10 </ListEntry>
11 ...
12 </List>
13 ...
14</Module>
Der Wert ManagementBaseURL
¶
Mit dem optionalen Wert ManagementBaseURL
kannst du den Basisteil der URL verändern, welche für die Abfrage der Daten verwendet wird.
Lässt du diesen Wert weg, wird der Default https://management.azure.com/
verwendet.
Bemerkung
Wir raten dir von einer Veränderung dieses Wertes ab. Bitte verändere diesen Wert nur nach Rücksprache mit unserem Support Team.
Der Wert ApiVersion
¶
Mit dem optionalen Wert ApiVersion
kannst du auf eine ältere Version der Logik für Abfragen konfigurieren. Mögliche Werte sind:
August2024
Lässt du diesen Wert weg, wird automatisch die aktuellste Version der Logik verwendet.
Bemerkung
Wir raten dir von einer Veränderung dieses Wertes ab. Bitte verändere diesen Wert nur nach Rücksprache mit unserem Support Team.
Der Wert UserNameSource
¶
Mit dem optionalen Wert UserNameSource
wählst du, welches Feld aus der Benutzertabelle für den Objektnamen verwendet wird. Dabei kannst du zwischen folgenden Felder wählen:
Name
PrincipalName
ActiveDirectory
Lässt du den Wert weg, wird der Default Name
verwendet.
Der in dem Feld enthaltene Name wird zuerst normalisiert und danach alle Sonderzeichen mit einen Unterstrich ersetzt. Falls du weitere Teile aus dem Feldinhalt entfernen möchtest, kannst du dazu den Wert UserNameCharacterFilter
verwenden.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 ...
8 <Value name="UserNameSource">PrincipalName</Value>
9 ...
10 </ListEntry>
11 ...
12 </List>
13 ...
14</Module>
Der Wert UserNameCharacterFilter
¶
Mit dem optionalen Wert UserNameCharacterFilter
kannst du Elemente aus dem Feld für den Benutzernamen entfernen. Gib dazu einen gültigen regulären Ausdruck an. Jede Stelle auf den dein regulärer Ausdruck passt wird aus dem Namen entfernt.
Lässt du den Wert weg, wird nichts aus dem gewählten Feld entfernt.
1<Module name="AzureCloudData">
2 ...
3 <List name="Connections">
4 <ListEntry>
5 <Value name="Name">ExampleAccess</Value>
6 <Value name="ObjectContext">example.com</Value>
7 ...
8 <Value name="UserNameCharacterFilter">(?:lab-|beta-)</Value>
9 ...
10 </ListEntry>
11 ...
12 </List>
13 ...
14</Module>
Die Gruppe Proxy
¶
Mit der optionalen Gruppe Proxy
kannst du einen Proxyserver definieren, über den alle Verbindungen zur Citrix Cloud aufgebaut werden. Lässt du die Gruppe weg, wird kein Proxyserver für die Verbindungen verwendet.
1<Module name="AzureCloudData">
2 ...
3 <Group name="Proxy">
4 <Value name="Type">Socks5</Value>
5 <Value name="Host">proxy.example.com</Value>
6 <Value name="Port">8888</Value>
7 <Value name="Username">example</Value>
8 <Value name="Password">password</Value>
9 </Group>
10 ...
11</Module>
Der Wert Type
¶
Mit dem Wert Type
setzt du den Typ des Proxyservers. Mögliche Werte sind:
None
- Kein Proxyserver wird verwendet.Default
- Die Proxyeinstellungen des Betriebssystems werden verwendet.Socks5
- Ein Socks 5 Proxy wird verwendet.Http
- Ein HTTP Proxy wird verwendet.
1<Module name="AzureCloudData">
2 ...
3 <Group name="Proxy">
4 <Value name="Type">Socks5</Value>
5 <Value name="Host">proxy.example.com</Value>
6 <Value name="Port">8888</Value>
7 <Value name="Username">example</Value>
8 <Value name="Password">password</Value>
9 </Group>
10 ...
11</Module>
Der Wert Host
¶
Mit dem Wert Host
setzt du den DNS namen des Proxyservers, oder die IP-Adresse. Dieser Wert ist notwendig, falls du einen Socks 5
oder HTTP
Proxy verwenden möchtest.
1<Module name="AzureCloudData">
2 ...
3 <Group name="Proxy">
4 <Value name="Type">Socks5</Value>
5 <Value name="Host">proxy.example.com</Value>
6 <Value name="Port">8888</Value>
7 <Value name="Username">example</Value>
8 <Value name="Password">password</Value>
9 </Group>
10 ...
11</Module>
Der Wert Port
¶
Mit dem optionalen Wert Port
setzt du einen eigenen Port, falls dieser vom Defaultport des Protokolls abweicht.
1<Module name="AzureCloudData">
2 ...
3 <Group name="Proxy">
4 <Value name="Type">Socks5</Value>
5 <Value name="Host">proxy.example.com</Value>
6 <Value name="Port">8888</Value>
7 <Value name="Username">example</Value>
8 <Value name="Password">password</Value>
9 </Group>
10 ...
11</Module>
Der Wert Username
¶
Falls der verwendet Proxyserver einen Benutzernamen verlangt, setzt du ihn mit diesem Wert.
1<Module name="AzureCloudData">
2 ...
3 <Group name="Proxy">
4 <Value name="Type">Socks5</Value>
5 <Value name="Host">proxy.example.com</Value>
6 <Value name="Port">8888</Value>
7 <Value name="Username">example</Value>
8 <Value name="Password">password</Value>
9 </Group>
10 ...
11</Module>
Der Wert Password
¶
Wenn du einen Benutzernamen verwendest, dann kannst du mit dem Wert Password
das dazugehörige Passwort setzen.
1<Module name="AzureCloudData">
2 ...
3 <Group name="Proxy">
4 <Value name="Type">Socks5</Value>
5 <Value name="Host">proxy.example.com</Value>
6 <Value name="Port">8888</Value>
7 <Value name="Username">example</Value>
8 <Value name="Password">password</Value>
9 </Group>
10 ...
11</Module>
Konfigurationsbeispiel¶
Hier siehst du ein komplettes Konfigurationsbeispiel für die Erweiterung.
1<?xml version="1.0" encoding="UTF-8" ?>
2<Configuration
3 version="1"
4 xmlns="http://educateit.ch/software/BlueStone/Configuration/1">
5
6 <Module name="AzureCloudData">
7 <List name="Connections">
8 <ListEntry>
9 <Value name="Name">TestAccess</Value>
10 <Value name="ObjectContext">educateit.test</Value>
11 <Value name="ClientId">***</Value>
12 <Value name="ClientSecret">***</Value>
13 <Value name="TenantId">***</Value>
14 <Value name="SubscriptionId">***</Value>
15 </ListEntry>
16 </List>
17
18 <List name="Tables">
19 <ListEntry>
20 <Value name="TableType">Session</Value>
21 <!-- Currently there is only Session available. -->
22 <Value name="ObjectType">User</Value>
23 <!-- Any, Computer, User, Application-->
24 <List name="TableColumns">
25 <ListEntry>
26 <Value name="Identifier">ObjectId</Value>
27 <Value name="IsActionParameter">Yes</Value>
28 </ListEntry>
29 <ListEntry>
30 <Value name="Identifier">SessionState</Value>
31 </ListEntry>
32 <ListEntry>
33 <Value name="Identifier">UserName</Value>
34 </ListEntry>
35 <ListEntry>
36 <Value name="Identifier">UserPrincipalName</Value>
37 </ListEntry>
38 <ListEntry>
39 <Value name="Identifier">UserActiveDirectory</Value>
40 </ListEntry>
41 <ListEntry>
42 <Value name="Identifier">CreateTime</Value>
43 </ListEntry>
44 </List>
45 <List name="TableActions">
46 <ListEntry>
47 <Value name="Label">User Action</Value>
48 <Value name="Arguments">action=usertest</Value>
49 </ListEntry>
50 </List>
51 </ListEntry>
52 <ListEntry>
53 <Value name="TableType">Session</Value>
54 <Value name="ObjectType">Any</Value>
55 <List name="TableColumns">
56 <ListEntry>
57 <Value name="Identifier">ObjectId</Value>
58 <Value name="IsActionParameter">Yes</Value>
59 </ListEntry>
60 <ListEntry>
61 <Value name="Identifier">SessionState</Value>
62 </ListEntry>
63 <ListEntry>
64 <Value name="Identifier">UserPrincipalName</Value>
65 </ListEntry>
66 <ListEntry>
67 <Value name="Identifier">CreateTime</Value>
68 </ListEntry>
69 </List>
70 <List name="TableActions">
71 <ListEntry>
72 <Value name="Label">Common Action</Value>
73 <Value name="Arguments">action=commontest</Value>
74 </ListEntry>
75 </List>
76 </ListEntry>
77 </List>
78
79 </Module>
80
81</Configuration>
Die Objektfelder¶
Die folgenden Tabellen zeigen dir alle möglichen Felder welche du für Objektdefinitionen verwenden kannst.
Die Felder für das Computerobjekt¶
Die folgende Tabelle listet alle möglichen Felder auf, die für die Definition eines Computerobjekts verwendet werden können.
Bezeichner |
Typ |
Beschreibung |
---|---|---|
|
Text |
Der eindeutige Objektbezeichner des Computerobjekts. |
|
Text |
Der vollständige Name des Computers. |
|
Text |
Der Hostname des Computers ohne Domain-Anteil. |
|
Text |
Der volle Bezeichner des Computers. |
|
Text |
Die ID der zugehörigen Subscription. |
|
Text |
Die ID der Ressourcen-Gruppe. |
|
Text |
Die ID des Host-Pools. |
|
Text |
Der verlinkte Name des Session-Hosts. |
|
Text |
Die Domain des Session-Hosts. |
|
Text |
Der Typ des Computers oder Hosts. |
|
Datum/Zeit |
Zeit der letzten Aktivität des Hosts. |
|
Datum/Zeit |
Zeit des letzten Statuswechsels. |
|
Datum/Zeit |
Zeit der letzten Aktualisierung. |
|
Text |
Informationen über die aktuellen Sessions auf dem Computer. |
|
Text |
Die Version des Agents, der auf dem Computer läuft. |
|
Text |
Kennzeichnung, ob der Host neue Sessions zulässt. |
|
Verknüpfung |
Der zugewiesene Benutzername, verknüpft mit dem zugehörigen Benutzerkontext. |
|
Text |
Der Kontext des zugewiesenen Benutzers. |
|
Text |
Der aktuelle Status des Computers. |
|
Text |
Die Betriebssystemversion des Computers. |
|
Text |
Die Version des SxS Stacks. |
|
Text |
Der aktuelle Update-Status des Computers. |
|
Text |
Bezeichner der zugeordneten Ressource. |
|
Text |
Bezeichner der zugeordneten virtuellen Maschine. |
|
Tabelle |
Liste der Sessions, die mit diesem Computerobjekt verknüpft sind. |
Die UserObject
Felder¶
Die folgende Tabelle listet alle möglichen Felder auf, die für die Definition eines Benutzerobjekts verwendet werden können.
Bezeichner |
Typ |
Beschreibung |
---|---|---|
|
Text |
Der Name des Benutzers. |
|
Text |
Der Active Directory Name des Benutzers. |
|
Text |
Der Principal-Name des Benutzers, oft als Benutzeranmeldename verwendet. |
|
Tabelle |
Eine Tabelle mit allen Sessions, die diesem Benutzer zugeordnet sind. |
|
Tabelle |
Eine Tabelle mit allen Session-Hosts, die diesem Benutzer zugeordnet sind. |
Die Tabellenfelder¶
Die folgenden Tabellen zeigt dir alle möglichen Spalten welche du in Tabellen verwenden kannst.
Die SessionList
Tabelle¶
Bezeichner |
Typ |
Beschreibung |
---|---|---|
|
Text |
Der Sessionname aus dem Feld |
|
Text |
Der volle Bezeichner der Session. |
|
Text |
Die ID der zugehörigen Subscription, abgeleitet von |
|
Text |
Die ID der Ressourcen-Gruppe, abgeleitet von |
|
Text |
Die ID des Host-Pools, abgeleitet von |
|
Text |
Der verlinkte Name des Session-Hosts, abgeleitet von |
|
Text |
Die Domain des Session-Hosts, abgeleitet von |
|
Text |
Die ID der Benutzersession, abgeleitet von |
|
Text |
Der Typ der Session. |
|
Text |
Der Objektbezeichner der Session. |
|
Text |
Der Typ der Anwendung innerhalb der Session. |
|
Text |
Der verlinkte Benutzername. |
|
Text |
Der verlinkte Principal-Benutzername. |
|
Text |
Der verlinkte Active Directory Benutzername. |
|
Text |
Der Status der Session. |
|
Datum/Zeit |
Das Erstellungsdatum und die Uhrzeit der Session. |
|
Aktionen |
Die Knöpfe für deine Aktionen |
Die SessionHostList
Tabelle¶
Bezeichner |
Typ |
Beschreibung |
---|---|---|
|
Text |
Der Objektbezeichner des Session-Hosts. |
|
Text |
Der vollständige Name des Session-Hosts. |
|
Verknüpfung |
Der verknüpfte Hostname des Session-Hosts. |
|
Text |
Der volle Bezeichner des Hosts. |
|
Text |
Die ID der zugehörigen Subscription, abgeleitet von |
|
Text |
Die ID der Ressourcen-Gruppe, abgeleitet von |
|
Text |
Die ID des Host-Pools, abgeleitet von |
|
Verknüpfung |
Der verlinkte Session-Host Name, abgeleitet von |
|
Text |
Die Domain des Session-Hosts, abgeleitet von |
|
Text |
Der Typ des Session-Hosts. |
|
Datum/Zeit |
Zeit der letzten Aktivität. |
|
Datum/Zeit |
Zeit des letzten Statuswechsels. |
|
Datum/Zeit |
Zeit der letzten Aktualisierung. |
|
Text |
Informationen über offene Sessions. |
|
Text |
Version des Agents. |
|
Text |
Kennzeichnung, ob neue Sessions zugelassen sind. |
|
Text |
Aktueller Status des Session-Hosts. |
|
Text |
Betriebssystemversion des Hosts. |
|
Text |
SxS Stack Version des Hosts. |
|
Text |
Aktueller Update-Status. |
|
Text |
Bezeichner der zugeordneten Ressource. |
|
Text |
Bezeichner der zugeordneten virtuellen Maschine. |
|
Verknüpfung |
Zugewiesener Benutzername, verknüpft mit dem Benutzerkontext. |
|
Aktionen |
Die Knöpfe für deine Aktionen |
Diagnoseinformationen¶
Diese Erweiterung bietet die folgenden Bezeichner für erweiterte Diagnoseinformationen an.
Bezeichner |
Beschreibung |
|
Zeigt die grundlegende Informationen der Logik der Erweiterung an. |
|
Zeigt dir die individuellen Anfragen und Antworten welche via HTTPS gemacht werden. |
|
Zeigt die Details des Überwachungssystems an. |