Bei der zugrundeliegenden XML-Definition handelt es sich um ein allgemeines Format zur Beschreibung von konfigurierbaren grafischen Oberflächen innerhalb des SCCM Managers.
Im Folgenden wird der Aufbau der Konfigurationsdatei „ClientCreater_OSDVariables.xml“ erklärt.
- Es können n-viele Controls definiert werden. Dabei lassen sich aktuell zwei Typen definieren: „TextBox“ und „ComboBox“.
- Dabei muss bei jedem Control ein Name definiert werden. Dieser muss eindeutig sein, darf keine Leerzeichen beinhalten und hat (im Beispiel Client Creator) drei Funktionen.
- Interner Name des Controls, um dieses per Regel ansteuern zu können.
- Name der Computervariable.
- Label des Controls, falls kein FriendlyName definiert wurde
- Außerdem kann ein FriendlyName definiert werden, dieser dient dann als Label in der GUI.
- Jedes Control kann optional einen Description-Tag beinhalten. Dort kann eine Beschreibung hinterlegt werden, die hinterher als Tooltip über dem jeweiligen Control angezeigt wird.
- Jedes Control kann n-viele Items haben.
- Ein Item benötigt wieder zwingend einen Namen und optional einen FriendlyName zur Darstellung (andernfalls wird automatisch der Name benutzt).
- Bei einer ComboBox sollte das Item auch einen Value haben. Dieser ist im Beispiel Client Creator der Wert der Computervariable.
- Das Standard-Item einer ComboBox lässt sich über das Attribut IsDefault setzen. Ansonsten ist initial keins ausgewählt.
- Jedes Item kann n-viele Rules haben. Sobald dieses Item dann später in der GUI ausgewählt wird, setzen alle ihm zugeordneten Regeln ein.
- In einer Rule wird immer ein Target definiert, also der Name des Controls, welches beeinflusst werden soll.
- Außerdem wird ein TargetItem definiert, also z.B. das Item, das automatisch in einer anderen ComboBox ausgewählt werden soll.
- Optional kann auch eine sog. Action definiert werden. Hier gibt es momentan vier verschiedene: „Show“, „Hide“, „Enable“, „Disable“. Dadurch können andere Controls zusätzlich beeinflusst werden.
- Eine TextBox kann außerdem noch zusätzliche Attribute und Tags haben.
- Es kann eine Maske definiert werden, dazu können die Attribute „Mask“und „MaskType“gesetzt werden (siehe Beispiel).
- Es kann ein zusätzlicher Tag „ValidationRegex“hinzugefügt werden. Dadurch bekommt die TextBox die Möglichkeit, sich bei Benutzereingaben selbst zu validieren.
- Außerdem erkennt eine TextBox nur ihr erstes Item. Dieses wird zwingend benötigt, damit es überhaupt einen Value gibt und um z.B. über eine Rule darauf zugreifen zu können.
- Für kundenspezifische Plugins lässt sich dieses System ebenfalls einsetzen
Beispielkonfiguration und die daraus generierte GUI
- Das erste Control im Bild (OS Name) gehört intern zum Client Creator.
- Der Computername als TextBox (ebenfalls intern): der reguläre Ausdruck (ValidationRegex) erwartet Großbuchstaben.
- Netbios Domain als ComboBox: durch die dazugehörige Regel wird automatisch der dazu passende FQDN gewählt.
- Primary Site Server: Der FriendlyName für das Control ist PrimarySiterServer=ExampleSite01, tatsächlich wird aber später der Variablenwert (Value) ExampleSite01 gewählt. Dies gilt genauso für den Variablenname, dieser wird später als OSDPrimarySiteServer gesetzt.
Siehe auch