Einige Hersteller sind im Umgang mit Treibern etwas schlampig. Den richtigen Treiber für sein Gerät zu finden, ist oft nicht ganz leicht. Lenovo ist beispielsweise etwas zu flexibel und kennzeichnet in seinen inf-Dateien großzügig wesentlich mehr Modelle als kompatibel, als es der Wahrheit entspricht. Dies hat zur Folge, dass beim Deployment via SCCM mittels der Funktion “Auto Apply Drivers” häufig die falschen Treiber zugewiesen werden, die dann eben doch nicht 100%ig passen. Im “Idealfall” endet dies klar sichtbar mit einem BSOD, häufig zeigen sich aber auch verspätet seltsame Symptome wie:

  • USB 3.0 wird nicht unterstützt
  • WWAN Modul wird nicht gefunden
    1. DVI/DisplayPort-Ausgang funktioniert nicht all dies sind Symptome für falsche Treiber, die sich das Gerät gezogen hat.

Das automatische Zuweisen von Treibern ist zwar praktisch, aber eben nicht sehr zuverlässig. Der Schlüssel zum Erfolg liegt meines Erachtens nach darin, auf das automatische Zuweisen von Treibern vollständig zu verzichten. Stattdessen empfehle ich, den Treiber gezielt in der Tasksequence zuzuweisen.

Wie das geht, ist recht einfach, wenn man einige kleine Kniffe beachtet. Der Reihe nach:

  • Download des SCCM-Treiberpaketes von Lenovo  für die korrekte OS-Version (in meinem Beispiel w7 x64)
  • Extrahieren des Treibers und Kopieren auf ein für den SCCM zugängliches Netzwerk-Share, z.B. das ProdShare. Ich empfehle, dort einen Order Namens “for-Import” zu erstellen, um die Übersicht zu wahren.
  • Import Driver Wizard des SCCM starten, den UNC-Path zu den Treibern angeben. Hierbei folgende Optionen angeben:
    • Ein neues Treiber-Paket für das Model+OS-Version erstellen, also z.B. “Lenovo T450 w7x64”
    • Eine neue Kategorie für die Hardware erstellen, also z.B. “Lenovo T450”
    • WICHTIG: Treiber NICHT zum Boot-Image hinzufügen. Die Netzwerkkarte wird bereits vom Boot-Image unterstützt und braucht keine weiteren Treiber. Ein Hinzufügen zum Boot-Image bläht das Boot-Image nur unnötig auf und verursacht häufig Kompatibilitätsprobleme mit anderen Computern, die ja normalerweise auch das gleiche Boot-Image verwenden.
    • Distribution Points noch nicht updaten
    • Import starten
      5256-lenovo-01
  • Nach dem Import sollten die Treiber zunächst kontrolliert werden.

Ich habe persönlich schlechte Erfahrungen mit den Virtual Network Adaptern von Intel gemacht und kenne keinen Anwendungsfall für selbige. Aus diesem Grund lösche ich diesen:

5256-lenovo-02

Außerdem können bei Bedarf noch Treiber von nicht verwendeten Modellen gelöscht werden, in meinem Fall sind das die NVidia-Treiber, da ich keine Konfiguration mit Nvidia-Grafikkarte verwende.

Achtung: Das Deaktivieren von Treibern im SCCM hat keine Auswirkung, wenn das Treiber-Paket in der Tasksequence zugewiesen wird. (Deaktivieren wird nur bei Auto-Apply beachtet)

Daher nicht deaktivieren, sondern löschen!

Abschließend das Paket an die Distribution Points verteilen/updaten.

Nun kommt der Clou: Die vorhandene OS Deployment TS wird nun etwas modifziert.

  • Zunächst wird der Step “Apply Drivers” entfernt.

  • Nun erstellen wir einen neuen Step “Apply Driver Package”:

    5256-lenovo-03
    Dieser Schritt sollte sich unter “Apply Operating System Image” befinden.

  • Nun passen wir den Step auf das Computer-Modell an. Vergebe zunächst einen sinnvollen Namen, z.B. “Install Drivers Lenovo T450”. Wähle dann als Driver Package das zuvor erstelle Paket aus.

    5256-lenovo-04
    Ich habe den Haken für unsignierte Treiber nicht gesetzt, da ich davon ausgehe, dass Lenovo nur signierte Treiber verwendet. Wer nach dem Deployment einen Treiber vermisst, sollte probieren, diesen Haken zu setzen.

  • Nun kommt der wichtigste Schritt. Jetzt werden während des Deployments eine WMI-Abfrage starten und das Computer-Model abfragen. Nur wenn unsere Abfrage ergibt, dass ein T450 vorliegt, wird dieser Schritt ausgeführt. Das geht recht einfach: Im geöffneten Step unter “Options” Add Condition -> Query WMI wählen:

    5256-lenovo-05
    Nun folgenden Query anlegen:

    1
    2
    3
    
    WMI Namespace: root\cimv2
    WMI Query:
    SELECT * FROM Win32_ComputerSystem WHERE Model LIKE "20BV%" AND Manufacturer = "LENOVO"
    

    Der WMI Query für das Lenovo T440s lautet:

    1
    
    SELECT * FROM Win32_ComputerSystem WHERE Model LIKE "20A%" AND Manufacturer = "LENOVO"
    

    Der WMI Query für das Lenovo T430 lautet (zumindest für die deutsche Version):

    1
    
    SELECT * FROM Win32_ComputerSystem WHERE Model LIKE "2349%" AND Manufacturer = "LENOVO"
    

    Wer mehr als einen Schritt für ein Computer Model ausführen will, kann auch gleich einen Ordner anlegen und diesen mit dem WMI-Filter belegen. Dies mache ich häufig für Treibersoftware, die abschließend installiert werden soll. In meinem Fall sieht die TS nun so aus:

    5256-lenovo-06

  • Fertig! Nun kann die TS verwendet werden.

Während des Deployments wird der wird praktischerweise der vergebene Name des Treiber-Step angezeigt, sodass man schon hier sehen kann, dass die Treiber zugewiesen werden.

Wichtig: Stelle vor dem Deployment unter “Content Status” sicher, dass die verwendeten Treiber-Pakete erfolgreich auf den DPs verteilt wurden.

Viel Spaß und Erfolg!

Weiterführender Tipp: Diese oben genannten WMI-Querys eigenen sich übrigens auch hervorragend für die Erstellung von automatisierten Computer Collections!