Bereitstellung von Gerätetreibern (Teil 2: Bereitstellung der Treiber)
Dienstag, 8. Dezember 2009, 22:01
Abgelegt unter: Anleitungen | Tags: , , ,

Am Rahmen des letzten Beitrages haben wir einen Ordner C:\Drivers zusammengestellt, der alle benötigten Treiber für das neue Gerät enthält, welche wir nun in SCCM importieren können.

Doch hier kann sich ein unerwartetes Problem in den Weg stellen: SCCM lässt es nicht zu, dass derselbe Treiber mehrfach importiert wird! Dies macht es auf Anhieb unmöglich, Treiberpakete zu erstellen, die alle Treiber für einen bestimmten Gerätetyp enthalten, wenn es mehrere Gerätetypen gibt, welche dieselben Treiber verwenden. Doch zum Glück gibt es hier eine einfache Abhilfe!

Es reicht nämlich aus, wenn man bei jedem Treiberordner eine zusätzliche Textdatei hinzufügt, die z.B. den Namen des Gerätetyps (z.B. HP DC7800) im Dateinamen (z.B „HP DC7800.txt“) enthält. Diese Datei könnte sogar leer sein, es spricht jedoch nichts dagegen, hier zusätzliche Informationen z.B. zur Quelle des Treibers und dessen Bereitstellung zu dokumentieren. Diese Textdatei sorgt dafür, dass beim Importieren des Gerätetreibers ein anderer Hashwert generiert wird, womit derselbe Treiber mehrfach importiert werden kann.

Ein weiteres Punkt, den es bei der Bereitstellung von Gerätetreibern zu beachten gilt, ist folgender: Der sog. „Source“-Ordner des Treiber-Paketes ist derjenige, von welchem aus SCCM die Treiber auf die Distribution Points verteilen wird und das ist somit nicht derjenige Ordner auf unserem neuen Gerät, der die gesammelten Treiber enthält: Der „Source“-Ordner für das Treiberpaket wird an der passenden Stelle auf dem Fileserver angelegt, z.B. unter „\\<server>\source$\Drivers\<Manufacturer>\<Model>“, die von uns gesammelten und mit Hilfe der zusätzlichen Textdatei individualisierten Gerätetreiber liegen jedoch noch auf dem neuen Gerät unter C:\Drivers.

Der Importvorgang läuft nun sehr problemlos ab:

  1. Wir navigieren in der SCCM-Konsole zu „Computer Management“, „Operating System Deployment“, „Drivers“
  2. Falls noch nicht bereits andere Geräte desselben Herstellers im Einsatz sind, legen wir dort einen neuen Ordner mit dem Namen des Herstellers an (z.B. „HP“).
  3. Darunter legen wir nun einen neuen Ordner mit dem Namen des Gerätemodelles an. (z.B. „DC7800“)
  4. Mit Rechtsklick auf den soeben angelegten Ordner, können wir nun den „Import“-Wizard starten.
  5. Nun müssen wir angeben, welche Gerätetreiber wir importieren wollen. Ist auch unser neues Gerätemodell bereits Mitglied in der AD-Domäne, können wir hier einfach den UNC-Pfad zum Treiberordner auf unserem neuen Gerät angeben, also irgendwas in der Form „\\<neuerPC>\c$\Drivers“. Da wir dort ja genau die benötigten Treiber zusammengestellt haben, können wir gleich in einem Rutsch alle Treiber importieren lassen, die sich an diesem Ort befinden.
  6. Im nächsten Dialog-Fenster „Driver Details“ können wir nochmals sehen, welche Treiber importiert werden; gleichzeitig lassen sich hier noch Kategorien vergeben. Hier halten wir üblicherweise fest, für welches Betriebssystem gerade Treiber importiert werden, wir vergeben hier z.B. die Kategorie „Win7 x86 EN“.
  7. Im nächsten Dialog-Fenster „Add Driver to Packages“ müssen wir nun angeben, in welchem Treiberpaket die Treiber gespeichert werden sollen. Auch hier erstellen wir ein neues Treiberpaket, das wir mit dem Präfix „DRIVERS“ kennzeichen, damit wir die Gerätetreiber-Pakete einfach in der Paketliste erkennen können. Wir taufen unser Paket somit z.B: „DRIVERS HP DC7800“. Hier müssen wir nun den passenden Source-Ordner auf dem Fileserver definieren, wo SCCM die importierten Treiber hinpacken soll, also z.B. etwas in der Form: \\<server>\source$\Drivers\<Manufacturer>\<Model>
  8. Im nächsten Schritt „Add Driver to Boot Images“ lassen sich nötigenfalls Treiber auch gleich in das Bootimage einpacken. Dies wäre genau dann nötig, wenn es sich z.B. um Netzwerk- oder Disktreiber handelt, die zwingend für die Betriebssysteminstallation und somit für den Ablauf der Tasksequenz notwendig sind.
  9. SCCM legt das neue Treiberpaket zuoberst in der Hierarchie der „Driver Packages“an, falls gewünscht, kann dieses anschliessend noch passend einsortiert werden. Nun sind noch die letzten Schritte des Wizards zu durchlaufen, dann werden die Treiber importiert.
  10. Sind die Treiber erfolgreich importiert und damit auch dass entsprechende Treiberpaket erstellt worden, muss dieses noch auf an die passenden Distribution Points verteilt werden; danach sind die Treiber zur Installation auf den Geräten bereit.

Auf diese Weise lässt sich nun für jedes Gerätemodell ein separates Treiberpaket anlegen, was wir normalerweise in einer schlanken Hierarchie „Hersteller -> Gerätemodell“ bewerkstelligen. Diese Treiberpakete enthalten nun alle benötigten Gerätetreiber für ein bestimmtes Gerätemodell ohne jegliche Abhängigkeiten von anderen Treiberpaketen. So kann dieses Paket auch eines Tages wieder problemlos gelöscht werden, wenn das letzte Exemplar dieses Gerätetyps auf den Schrott gewandert ist.

Nun muss einfach noch sichergestellt werden, dass die so erstellten Gerätetreiber-Pakete nur genau auf denjenigen Geräten installiert werden, für die diese bestimmt sind, doch dies wird das Thema des nächsten Beitrages sein.



Bereitstellung von Gerätetreibern (Teil 1: Sammeln der Treiber)
Dienstag, 1. Dezember 2009, 18:14
Abgelegt unter: Anleitungen | Tags: , , ,

Wie ich in meinem letzten Beitrag geschrieben habe, hat die Installation von Gerätetreibern via „Auto Apply Drivers“ seine Tücken, da irgendwelche unliebsamen Ãœberraschungen nicht ausgeschlossen sind. Wer auf Nummer sicher gehen will, der muss den Weg über „Apply Driver Package“ wählen.

Ich möchte deshalb mit einer Serie von drei Beiträgen aufzeigen, wie man vorgehen kann, um Gerätetreiber über den Tasksequenz-Schritt „Apply Driver Package“ bereitzustellen. Diese drei Beiträge werden folgende drei Schritte behandeln:

  1. Feststellen und Sammeln der benötigten Gerätetreiber,
  2. Bereitstellung der Gerätetreiber in SCCM in Form von Treiber-Paketen,
  3. Installation der Treiber-Pakete auf die Clients über den Tasksequenz-Schritt „Apply Driver Package“.

Wenn wir ein neues Gerätemodell in den von uns unterstützten Gerätepark aufnehmen wollen, dann versuchen wir zuerst einmal, dieses einfach zu installieren, indem wir unsere „altbewährte“ Tasksequenz auf dem neuen Gerät ausführen, was in den meisten Fällen recht problemlos klappt. Es muss jedoch damit gerechnet werden, dass allenfalls auch das WinPE unter Umständen zusätzliche Treiber benötigt, wenn z.B. die Hardware über sehr spezielle oder komplett neue, noch nicht vom Betriebssystem unterstützte Hardwarekomponenten verfügt; diesen Fall wollen wir in der aktuellen Betrachtung jedoch mal ausschliessen.

Es muss unbedingt darauf geachtet werden, dass in dieser Tasksequenz keinesfalls der Schritt „Auto Apply Drivers“ aktiviert ist, denn wir möchten ja nicht, dass sich das neu in die Gerätepalette aufzunehmende Gerät per Plug-and-Play mit bereits importierten Treibern bedient, sondern wir wollen feststellen, ob (und vor allem welche) Treiber neben den original von Microsoft mit dem Betriebssystem gelieferten Treibern zusätzlich benötigt werden.

Ist die Tasksequenz erstmals durchgelaufen, folgt nach dem Anmelden am System sogleich ein schüchtener Blick in den Geräte-Manager. Sind dort keine Fragezeichen zu sehen und es funktionieren bereits alle Geräte einwandfrei, sind wir schon fertig, da in diesem Fall keine zusätzlichen Treiber benötigt werden. Ansonsten geht die Suche nach zusätzlichen Treibern für die unbekannten Geräte los, zudem dürfte es durchaus gewünscht sein, allfällige Standard-Treiber (Stichwort „Standard-VGA-Grafikkarte“) durch spezialisierte, leistungsfähigere Treiber (Stichwort „Aero“) zu ersetzen.

Mein erster Schritt führt mich zumeist zu Windows Update, welches ich nach Updates suchen lasse. Aber Achtung: Ich lasse mir von Windows Update nur anzeigen, welche Treiber über Windows Update zur Verfügung stehen würden. Doch installieren lasse ich diese keinesfalls, schliesslich will ich diese nicht nur auf diesem Gerät installieren, sondern in einem Treiberpaket über SCCM bereitstellen.

Dafür bietet sich der Microsoft Update Katalog an. Nach der Installation des benötigten ActiveX-Steuerelementes kann im Katalog nach den entsprechenden Updates gesucht werden, welche von Windows Update angeboten werden. Diese können dann in Form einer Cab-Datei heruntergeladen werden, welche z.B. mit 7-zip entpackt werden kann.

Nun versuche ich als nächstes, den heruntergeladenen Treiber zu installieren. Dazu wähle ich die Variante mit manueller Suche resp. Installation des Treibers und weise dabei den Assistenten an, in dem soeben ausgepackten Treiberordner nach einem passenden Treiber zu suchen.

Hat die Installation des Treibers wunschgemäss geklappt, verschiebe ich den Ordner mit dem ausgepackten Treiber in einen Sammelordner (bei mir normalerweise C:\Drivers) für die nachfolgende Bereitstellung in SCCM. Schliesslich wissen wir ja inzwischen, dass dies der passende Treiber ist.

Wenn Microsoft nicht alle benötigten Treiber bereithält, geht die Suche auf der Herstellerseite weiter, bis alle benötigten und passenden Treiber beisammen sind. Dabei versuche ich immer, allfälligen Wartungsapplikationen der Hersteller aus dem Weg zu gehen und mir die benötigten Treiber manuell zu organisieren.

Auf diese Weise sammeln sich in C:\Drivers mit der Zeit alle benötigten Treiber, die wir dann in einem Rutsch bequem in SCCM importieren können. Aber das soll ja das Thema des nächsten Beitrages sein.