18.02.2013

SCCM-Treiberinstallation und SCCM-Cache in Tasksequenzen

Wer Betriebssysteme mit SCCM verteilt, kennt vielleicht die folgenden Probleme: Die Treiberpakete des SCCM werden sehr groß, wenn man verschiedene Hardware einsetzt, nach dem Deployment stehen immer noch unbekannte Geräte im Gerätemanager und der SCCM-Cache lässt sich nicht mehr über den Parameter SMSCACHESIZE verändern.

Heute wollen wir uns mit dem System Center Configuration Manager (SCCM) 2012 beschäftigen. Wer Betriebssysteme mit SCCM verteilt, kennt vielleicht die folgenden Probleme:

  • Die Treiberpakete des SCCM werden sehr groß, wenn man verschiedene Hardware einsetzt und alle Treiber in einem Paket zusammenfügt.
  • Nach dem erfolgreichen Deployment stehen immer noch Geräte mit dem Hinweis „unbekanntes Gerät“ oder „unknown Device“ im Gerätemanager, obwohl die notwendigen Treiber importiert wurden.
  • Der SCCM-Cache lässt sich in SCCM 2012 nicht mehr über den Parameter SMSCACHESIZE bei der SCCM-Clientinstallation verändern und der Cache steht nach der Installation auf dem Standardwert von 5.120 MB.

Wir möchten Ihnen im Folgenden einige Tipps geben, wie Sie diese Probleme vermeiden können.

Tipp 1: Erstellen Sie Treiberpakete für jedes Hardwaremodell und lassen Sie die Treiberpakete per WMI-Abfrage dynamisch in der Tasksequenz auswählen.
Erstellen Sie ein neues Treiberpaket und eine neue Treiberkategorie für jedes Hardwaremodell. Fügen Sie in der Tasksequenz entweder den Step „Auto Apply Drivers“ oder „Apply Driver Package“ ein. Je nachdem, welchen Punkt Sie ausgewählt haben, müssen Sie nun die Treiberkategorie oder das Treiberpaket für das entsprechende Modell auswählen. Anschließend gehen Sie in die Optionen des Tasksequenz-Steps und fügen eine WMI-Abfrage hinzu. Das Ergebnis sollte wie folgt aussehen:

Fügt man nun mehrere Modelle in eine Tasksequenz ein, könnte der Treiberbereich der Tasksequenz in etwa so aussehen:

Damit wird während des OS-Deployments nur das benötigte Treiberpaket geladen und installiert.

Tipp 2: Bei der Installation von Treibern über die Aktion „Auto Apply Drivers“ wird eine Plug-and-Play-Erkennung der Treiber durchgeführt. Dies führt aber dazu, dass Geräte, welche voneinander abhängig sind, in bestimmten Konstellationen nicht korrekt installiert werden, obwohl der Treiber im Treiberpaket bzw. in der Treiberkategorie enthalten ist. Dies liegt daran, dass zum Beispiel der USB-Hub-Treiber installiert wird und erst anschließend die USB-Ports erkannt werden. Für die USB-Ports wird aber über „Auto Apply Drivers“ kein Treiber mehr installiert, da das Gerät vorher nicht erkannt wurde. Dies tritt nicht bei allen USB-Controllern auf, sondern nur bei bestimmten Modellen.

Um dieses Problem zu umgehen, hilft es, die Option „Apply Driver Package“ anstatt von „Auto Apply Drivers“ zu verwenden. Dadurch werden alle Treiber aus dem Treiberpaket installiert, egal ob das Gerät erkannt wurde oder nicht.

Tipp 3: Beim SCCM 2012 funktioniert der Parameter SMSCACHESIZE bei der Installation des SCCM-Clients in der Installationstasksequenz nicht mehr. Der Parameter wird einfach ignoriert. Um den Cache trotzdem über die Tasksequenz zu setzen, hilft ein kleines PowerShell-Skript. In der Tasksequenz muss ein neuer Step „Run Command Line“ eingefügt und das folgende Skript in das Feld „Command Line“ kopiert werden:

PowerShell.exe -Command "& {set-ExecutionPolicy unrestricted -force; $ccmcfg = Get-WmiObject -Namespace root\ccm\SoftMgmtAgent -Class CacheConfig;$ccmcfg.Size = "15360";$ccmcfg.Put(); restart-service ccmexec;}"

Dieses Beispiel setzt den Cache auf 15.360 MB, also 15 GB.
So sollte der Step aussehen:

Daniel Jelinek
Senior Consultant

Unsere Blogs