Im ersten Teil des Projekts zum Optimieren der Treiberdatenbank des SCCM wurden die Vorbereitungen getroffen. Die neuen Treiber wurden heruntergeladen und in einer Ordnerstruktur organisiert.
In diesem zweiten Teil geht es um das Löschen der alten Treiber. Im Laufe der Zeit haben sich in der Datenbank über 7000 Treiber gesammelt. Viele davon sind doppelt, und lediglich mit unterschiedlichen Kategorien versehen. Unterschiedliche Treiberversionen sind ebenso vorhanden wie alte Treiber für Modelle, die gar nicht mehr im Unternehmen vorhanden sind.
Im ersten Schritt habe ich nun alle Administrativen Kategorien und Treiber-Pakete manuell gelöscht. Anschließend ging es an das Löschen der einzelnen Treiber.
Zur Hilfe kommt dabei das Skript How to delete multiple packages applications Driver packages what else?
Das Skript importiert eine CSV-Datei und entfernt alle Pakete, die in dieser angegeben sind. Die Aufgabe besteht als darin, die Namen aller Treiber aus der SCCM Datenbank in diese CSV Datei zu bekommen.
Für mich war die einfachste Möglichkeit wie folgt:
- Öffne die Drivers-Kategorie in der SCCM-Console
- Zeige Alle Treiber an, nicht nur die ersten 1000
- Markiere Alle Treiber
- Kopiere mit STRG-C die Daten
- Füge die Daten in Notepad++ ein
Notepad++ bietet die Möglichkeit mithilfe von RegEx-Ausdrücken zu suchen und zu ersetzen. Im konkreten Fall wird die Liste Tabulator-getrennt eingefügt. Pro Kategorie, die in der SCCM Konsole eingeblendet ist, wird ein Tabulator eingefügt.
Entsprechend sieht mein Befehl zum Ersetzen aus:
1 | \t(.*)\t.*\t.*\t.*\t.*\t.*\t.*\t.*\t.*\t.* |
Anschließend müssen noch doppelte Zeilen entfernt werden. Auch dies ist mittels Notepad++ und Regex möglich:
1 | ^(.*)(\r?\n\1)+$ |
Nun hat man eine Liste im vom Skript verwendeten Format. Lediglich die erste Zeile muss noch mit folgendem Inhalt hinzugefügt werden:
1 | PackageType, PackageName |
Die Datei muss nun als .csv gespeichert werden, der Ordnung wegen habe ich Sie im selben Ordner wie das Skript abgelegt.
Im Skript selbst müssen nun drei Anpassungen gemacht werden:
1 2 3 4 5 6 | #Change the site Code CD PRI: #Change output File Location to store the results $Outputpath='C:\Users\eswar\Desktop\Removed-packages.txt' #Change the input filename ,make sure you supply the information in correct format Import-Csv C:\Users\eswar\Desktop\Remove-packages.csv |
Nun kann das Powershell Skript ausgeführt werden. Anschließend ist die SCCM-Treiberdatenbank vollständig geleert.
Im dritten Teil zeige ich, wie die neuen Treiber importiert werden können.
Neue Kommentare