Skip to main content

Client Creator

image.png

Der Client Creator dient zur Vereinfachung der Betriebssystemverteilung.

Dabei wird ein neues Computerobjekt in SCCM erstellt, dieses einer vordefinierten Bestriebssystem-Sammlung zugewiesen und es können zusätzliche Computervariablen definiert werden. Dieser Prozess lässt sich für eine ganze Liste (importierbar) von Computerobjekten automatisieren.

 
DynamicOSD

Wenn DynamicOSD aktiviert ist, stehen, innerhalb der Pluginoberfläche, automatisch alle Sammlungen zur Auswahl, die im Kommentar den Wert {OSD} beinhalten.

image.png

 
GUI Konfiguration

Um individuellen Anforderungen jederzeit gerecht werden zu können, besitzt der Client Creator eine dynamische Benutzeroberfläche (GUI), die es z.B. erlaubt, beliebige, vorkonfigurierte OSD-Variablen zur Verfügung zu stellen, die dann im Client Creator entsprechend auswählbar sind. Die GUI hierfür kann somit per Konfigurationsdatei individuell gestaltet werden.

Aktuell werden die Controls „ComboBox“ und „TextBox“ unterstützt. Dabei können eventbasierte Regeln konfiguriert werden, wodurch Abhängigkeiten innerhalb der Controls/Variablen abgebildet werden. Beispiel: „Auswahl in Combobox A“ beeinflusst „Eintrag in Combobox B“. Jedes Control stellt dabei eine Variable dar. Wobei auch jedes Control deaktiviert oder sogar auf unsichtbar gestellt werden kann (ebenfalls auch per Regel möglich). Daraus ergeben sich diverse Möglichkeiten. Zum Beispiel können regelgesteuerte, unsichtbare Controls dazu dienen, mit nur einer Auswahl direkt mehrere Variablen zu setzen, die der Benutzer evtl. nicht sehen soll.

Die Konfiguration dieser Oberfläche wird mit dem Dynamic GUI Editor vorgenommen.

 
Warteschlange

Unter dem Tab „Warteschlange“ können die Statusinformationen von Clients eingesehen werden, die der Benutzer selbst angelegt hat.

Der Erstellungsprozess kann mit einer Warteschlange erweitert werden. Dazu muss die Einstellung "EnableQueue" aktiviert sein.
Durch die Warteschlange, wird das erstellen von neuen Clients durch eine Statusprüfung erweitert.

Der Client Creator Service arbeitet die Warteschlange ab.

 
Computer Import

Über "Importieren" kann eine Computerliste importiert werden. Beispiel für eine Computerliste:

ClientCreatorImport_thumb_580_0.png

Über den Tab "Importieren" können die importierten Computerdaten eingesehen und per Doppelklick bearbeitet werden. 

ClientCreatorImportStatus_thumb_580_0.png

Plugin Konfiguration
Parameter Beschreibung Standardwert
CollectionDetailsQuery SQL-Abfrage für Installationssammlungen, die zur Auswahl stehen sollen. Abfrage wird an die SCCM Manager Datenbank gesendet. Benötigt folgende Ruckgabewerte: Collection Id, Tasksequens, Tag und Description
Aufklappen zum anschauen
SELECT DISTINCT
        cd.CollectionID                                   ,
        ISNULL(cd.Description, '')     AS 'Description'   ,
        ISNULL(cd.Tag, '')             AS 'Tag'           ,
        ISNULL(ss.[IsTaskSequence], 0) AS 'IsTaskSequence', (CASE WHEN (ss.[IsTaskSequence] IS NOT NULL) THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END) AS IsStandard
FROM
        [CollectionDescriptions] cd
LEFT JOIN
        [StandardSoftware] ss
ON
        cd.[CollectionID] = ss.CollectionID

UNION

SELECT DISTINCT
        ss.CollectionID                                   ,
        ISNULL(cd.Description, '')     AS 'Description'   ,
        ISNULL(cd.Tag, '')             AS 'Tag'           ,
        ISNULL(ss.[IsTaskSequence], 0) AS 'IsTaskSequence',
        CAST(1 AS BIT)                 AS IsStandard
FROM
        [StandardSoftware] ss
LEFT JOIN
        [CollectionDescriptions] cd
ON
        cd.[CollectionID] = ss.[CollectionID]
CollectionQuery SQL-Abfrage für Installationssammlungen, die zur Auswahl stehen sollen. Abfrage wird an die SCCM Datenbank gesendet
Aufklappen zum anschauen
SELECT
        CollectionID,
        Name
FROM
        v_Collection
        --WHERE
        -- Name LIKE '% - INSTALL (APPROVED)'
CollectionsByResourceQuery
Aufklappen zum anschauen
SELECT
        vcrd.ResourceID              ,
        vcrd.RuleName AS ComputerName,
        vcrd.CollectionID            ,
        vcol.Name AS CollectionName
FROM
        dbo.v_Collection AS vcol
INNER JOIN
        dbo.v_CollectionRuleDirect AS vcrd
ON
        vcol.CollectionID = vcrd.CollectionID
WHERE
        (
                vcrd.ResourceType = 5)
AND     vcrd.ResourceID = {0}
DynamicOSD Aktiviert / Deaktiviert das dynamische Auslesen der OSD-Sammlungen False
DynamicOSDFirst Bestimmt die Reinfolge der OSDs. Bei „True“ stehen die Einträge des DynamicOSD als erstes,dann die Benutzer definierten OSDs. False
DynamicOSDQuery  SQL-Abfrage zum automatischen auslesen der OSD-Sammlungen. Abfrage wird an die SCCM Manager Datenbank gesendet.
Aufklappen zum anschauen
SELECT
        Name ,
        [CollectionID]
FROM
        [v_Collection]
WHERE
        [COMMENT] LIKE '%{OSD}%'
EnableImport Aktiviert/ Deaktiviert Import Funktion True
EnablePreselection Aktiviert/Deaktiviert die Übernahme von Clientinformationen in die Eingabefelder bei der Client Migration True
EnableQueue Aktiviert/ Deaktiviert die Erstellung von Warteschlangen Items. Anstatt das Clients sofort angelegt werden, werden stattdessen Warteschlangen Items erstellt False
EnableSoftwareAssignment Aktiviert/Deaktiviert die Anzeige zusätzlich installierbarer Software True
MaxComputers Maximale Anzahl an Computerobjekten, die gleichzeitig importiert werden können 20
MigrationSourceDatabase
SCCM
MigrationSourceQuery
Aufklappen zum anschauen
SELECT
        ResourceID,
        Name0 AS Name
FROM
        dbo.v_R_System
OsdVariablesXML Beschreibungsdatei für die Benutzeroberfläche. Hier kann auch die OSD Auswahl Benutzerdefiniert werden.
Aufklappen zum anschauen
<Controls>
  <Control Type="ComboBox" Name="OSDSelection" FriendlyName="Operating System" IsEnabled="True" IsMandatory="False" IsVisible="True" IsInternal="True">
    <Items />
    <Description></Description>
  </Control>
  <Control Type="TextBox" Name="OSDComputerName" FriendlyName="Computer Name" IsEnabled="True" IsMandatory="True" IsVisible="True" IsInternal="True" IsReadOnly="False" Mask="">
    <ValidationRegex>^[A-Za-z0-9\-_]{3,15}$</ValidationRegex>
    <Items>
      <Item Name="Text" Value="" IsDefault="True" />
    </Items>
    <Description>The computer name (max. 15 characters).</Description>
  </Control>
  <Control Type="TextBox" Name="SMBIOSGUID" FriendlyName="BIOS Guid" IsEnabled="True" IsMandatory="False" IsVisible="True" IsInternal="True" IsReadOnly="False" Mask="">
    <ValidationRegex>^[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?$</ValidationRegex>
    <Items>
      <Item Name="Text" Value="" IsDefault="True" />
    </Items>
    <Description>The bios guid like 936DA01F-9ABD-4D9D-80C7-02AF85C822A8</Description>
  </Control>
  <Control Type="TextBox" Name="MACAddress" FriendlyName="MAC Address" IsEnabled="True" IsMandatory="False" IsVisible="True" IsInternal="True" IsReadOnly="False" Mask="">
    <ValidationRegex>^([0-9A-Fa-f]{2}[:-]?){5}([0-9A-Fa-f]{2})$</ValidationRegex>
    <Items>
      <Item Name="Text" Value="" IsDefault="True" />
    </Items>
    <Description>The mac address.</Description>
  </Control>
</Controls>
PostActionScript PowerShell Scripte können hier mit unterverzeischnis angeben werden. Diese Powershell Scripte werden dann angelegt wenn ein Client Created wird  
PostActionScriptParameter

QueueQuery
Aufklappen zum anschauen
SELECT
        que._id               ,
        cque.ComputerName     ,
        cque.MacAddress       ,
        cque.BiosGuid         ,
        cque.OsdCollectionID  ,
        que.Cancelled         ,
        que.StatusCode        ,
        map.Status            ,
        map.StatusMessage     ,
        que.StatusDescription ,
        que.QueuedBy          ,
        que.Queued            ,
        que.Created           ,
        cque.ResourceID       ,
        que.Type              ,
        que.LastUser          ,
        que.LastUpdate
FROM
        [Queue] que
JOIN
        [ClientCreatorQueue] cque
ON
        que._id = cque.QueueID
JOIN
        QueueStatusMapping map
ON
        map.[StatusCode] = que.[StatusCode]
WHERE
        QueuedBy = '{USERNAME}'
ORDER BY
        LastUpdate DESC
QueueStatus Der Status mit dem das Queue Item erstellt wird Queued
QueueStatusDescription Die Beschreibung des Status in der Datenbank Queued by SCCM Manager.
SoftwareAllocationConfig Instanz des Software Allocation Plugins Default

Default Plugin Integration
  •     Assembly: ClientCreatorPlugin
  •     Name: CLIENT_CREATOR (wird übersetzt)
  •     Icon: workplace_add.png
  •     SelectedComputer: None
 
Unterstützte Funktionen (Function):
  • Migration: Ermöglich die Auswahl eines bereits vorhandenen Clients zur Übernahme der Softwarezuweisung und Client-Informationen