Treiber: Ex- & Import für MDT

Antworten
Benutzeravatar
g-force
Elite
Elite
Beiträge: 2052
Registriert: 07.10.2016, 19:30
Hat sich bedankt: 282 Mal
Danke erhalten: 247 Mal
Gender:

Treiber: Ex- & Import für MDT

Beitrag von g-force » 22.07.2023, 18:01

Ich sichere für verschiedene Hersteller/Modelle die Treiber per Script, um sie anschließend in WDS/MDT zur Verfügung zu stellen.

Code: Alles auswählen

$ComputerSystem = Get-CimInstance -Class Win32_ComputerSystem

$manufacturer = $ComputerSystem.Manufacturer

    if ($ComputerSystem.Manufacturer -eq 'LENOVO') {
        $Model = (Get-CimInstance -ClassName Win32_ComputerSystemProduct).Version
    }
    else {
        $Model = (Get-CimInstance -ClassName Win32_ComputerSystem).Model
    }

New-Item "S:\UPLOAD\DRIVER\$manufacturer\$model" -itemtype Directory -force
DISM /online /export-driver /destination:"S:\UPLOAD\DRIVER\$manufacturer\$model"
Das funktioniert auch wunderbar, die Ordner und Unterordner werden zuverlässig erstellt. Nachteil dieser Lösung ist aber, daß jeder PC/Laptop die Treiber sichert - auch, wenn diese bereits für dieses Modell gesichert wurden und der Ordner bereits vorhanden ist. Dies behindert den Workflow der Mitarbeiter, da der Treiber-Export immer stattfindet und somit Zeit kostet.

Wie kann ich das Script dahingehend ändern, daß der Treiber-Export nur gestartet wird, wenn der Ordner "Hersteller\Modell" nicht vorhanden ist - bei bereits vorhandenem Ordner "Hersteller\Modell" wird der Export übersprungen?
Zuletzt geändert von g-force am 20.11.2023, 16:23, insgesamt 1-mal geändert.
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Windows XP x86/x64 - Setup von WIM (XP2ESD): viewtopic.php?t=28372

Tante Google

Treiber: Ex- & Import für MDT

Beitrag von Tante Google » 22.07.2023, 18:01


Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2217
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 231 Mal
Danke erhalten: 308 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von Holgi » 22.07.2023, 19:45

das geht wohl mit Test-Path.
Anders als der Name suggeriert, geht das sowohl für Pfad, als auch für Datei.
https://www.itechguides.com/powershell- ... le-exists/
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
g-force
Elite
Elite
Beiträge: 2052
Registriert: 07.10.2016, 19:30
Hat sich bedankt: 282 Mal
Danke erhalten: 247 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von g-force » 22.07.2023, 22:28

Ich versuche es mal so:

Code: Alles auswählen

$ComputerSystem = Get-CimInstance -Class Win32_ComputerSystem

$manufacturer = $ComputerSystem.Manufacturer

    if ($ComputerSystem.Manufacturer -eq 'LENOVO') {
        $Model = (Get-CimInstance -ClassName Win32_ComputerSystemProduct).Version
    }
    else {
        $Model = (Get-CimInstance -ClassName Win32_ComputerSystem).Model
    }

Test-Path -Path "S:\UPLOAD\DRIVER\$manufacturer\$model"

    if (-not (Test-Path -Path "S:\UPLOAD\DRIVER\$manufacturer\$model" ))
    {
New-Item "S:\UPLOAD\DRIVER\$manufacturer\$model" -itemtype Directory -force
DISM /online /export-driver /destination:"S:\UPLOAD\DRIVER\$manufacturer\$model"
    }
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Windows XP x86/x64 - Setup von WIM (XP2ESD): viewtopic.php?t=28372

Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2217
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 231 Mal
Danke erhalten: 308 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von Holgi » 23.07.2023, 12:47

klappt es so?
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
g-force
Elite
Elite
Beiträge: 2052
Registriert: 07.10.2016, 19:30
Hat sich bedankt: 282 Mal
Danke erhalten: 247 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von g-force » 23.07.2023, 14:04

Mit einer Test-VM (über AnyDesk auf dem Firmen-Server) klappt es. Es sollte also auch ab morgen in der Produktion klappen. Wenn dann z.B. eine Serie mit 20 baugleichen Modellen zur Installation ansteht, dann wird nur beim ersten Gerät der Treiber-Export durchgeführt, bei den restlichen 19 Geräten wird der Export übersprungen.
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Windows XP x86/x64 - Setup von WIM (XP2ESD): viewtopic.php?t=28372

Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2217
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 231 Mal
Danke erhalten: 308 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von Holgi » 23.07.2023, 14:42

freut mich, dass ich helfen konnte!
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
g-force
Elite
Elite
Beiträge: 2052
Registriert: 07.10.2016, 19:30
Hat sich bedankt: 282 Mal
Danke erhalten: 247 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von g-force » 23.07.2023, 19:05

Mein lieber @Holgi, Du bist mir immer eine große Hilfe! Vielen Dank dafür!
So langsam mache ich mich mit PowerShell vertraut, auch hier hast Du großen Anteil.

:dankeschoen:
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Windows XP x86/x64 - Setup von WIM (XP2ESD): viewtopic.php?t=28372

Benutzeravatar
g-force
Elite
Elite
Beiträge: 2052
Registriert: 07.10.2016, 19:30
Hat sich bedankt: 282 Mal
Danke erhalten: 247 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von g-force » 20.09.2023, 11:39

Mein Script läuft schon einige Zeit sehr zuverlässig, nun stelle ich aber ein Nachteil fest.
Mit "DISM /online /export-driver /destination: *Pfad* " werden Ordner und Unterordner für Hersteller\Modell\Treiber erzeugt, alles okay. An jeden Unterordner (für z.B. den Grafiktreiber) wird aber hinter dem Treibernamen auch der Hash an den Namen gehängt. Beispiel: "iigd_dch_30.0.101.1338_E73D3E73894CCE6CDFAAA4E37E4E7B7653261A9C26CFE1EE505E65B3D9022B7F"
Dieser Hash ist auch bei eigentlich gleichen Treibern unterschiedlich. Alle Treiber wurden automatisch durch "Windows Update" installiert und anschließend mit DISM exportiert

Beim Import der Treiber in MDT (wir reden hier von über 100 verschiedenen PC-Modellen) wird nun nach und nach der eigentlich gleiche Treiber mehrfach importiert, da es ja unterschiedliche Hashes gibt. So gibt es allein vom "iigd_dch_30.0.101.1338" fast 10 Versionen, was den Treiberordner im MDT unnötig aufbläht (mittlerweile über 50 GB).

Mein Ziel ist es, daß gleiche Treiber nur 1x vorkommen und die Doubletten nicht mehr auftauchen.
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Windows XP x86/x64 - Setup von WIM (XP2ESD): viewtopic.php?t=28372

Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2217
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 231 Mal
Danke erhalten: 308 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von Holgi » 20.09.2023, 11:58

@Ben und @DK2000 haben mir bei so einer Sache mal ungemein geholfen:
viewtopic.php?p=361358&hilit=update+nam ... en#p361358

vlt. kann man das in ähnlicher Weise auch hier anwenden?
Wäre ja schön, wenn schon beim Export der Hash "abgeschnitten" wird. Leider habe ich von EnableDelayExpansion und so überhaupt keine Ahnung.
Aber @Ben, @DK2000 oder Andere können da sicherlich helfen.
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
g-force
Elite
Elite
Beiträge: 2052
Registriert: 07.10.2016, 19:30
Hat sich bedankt: 282 Mal
Danke erhalten: 247 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von g-force » 20.09.2023, 12:22

Ich habe inzwischen einiges gelesen und vermute nun das Problem nicht mehr im Namen des Export-Verzeichnisses, sondern im Hash des Treibers. Nach meinen neuen Informationen vergleicht MDT beim Import den Hash des Treibers (unabhängig vom Ordnernamen) und identifiziert den Treiber dementsprechend als "Neu" oder als "Duplikat". Warum gleiche Treiberversionen trotzdem unterschiedliche Hashes haben, wissen wohl nur die Hersteller.

Ich müßte wohl MDT so modifizieren, daß Duplikate nicht über den Hash identifiziert werden, sondern über die Version.
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Windows XP x86/x64 - Setup von WIM (XP2ESD): viewtopic.php?t=28372

Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2217
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 231 Mal
Danke erhalten: 308 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von Holgi » 20.09.2023, 12:28

g-force hat geschrieben: 20.09.2023, 12:22 Ich müßte wohl MDT so modifizieren, daß Duplikate nicht über den Hash identifiziert werden, sondern über die Version.
Das wäre wohl auch eine Lösung.
Wenn denn aber nicht möglich:
wäre der Teil des Namens mit dem Hash abgeschnitten, gäbe es ja auch nur einen Ordner mit dem entsprechenden Treiber (in diesem Fall iigd_dch_30.0.101.1338). Also auch keine Duplikate.
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
g-force
Elite
Elite
Beiträge: 2052
Registriert: 07.10.2016, 19:30
Hat sich bedankt: 282 Mal
Danke erhalten: 247 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von g-force » 20.09.2023, 12:48

Wenn beim Export Duplikate entstehen, ist das eigentlich egal. Da wird sowieso für jedes Modell ein eigener Ordner angelegt, der alle Treiber enthält. Dieser Export-Ordner (150 - 180 GB) liegt außerhalb von MDT und erstmal garnichts mit MDT zu tun.

Beim Import in MDT (sortiert nach "Hersteller/Modell") überprüft MDT anhand des Hash, ob dieser Treiber schon vorhanden ist. Falls NEU, wird importiert - falls DUPLIKAT, wird quasi ein Hardlink angelegt. In MDT gibt es einen Ordner "Out-of-box Drivers", der alle Treiber (in "Classes" sortiert) enthält - auf diesen Ordner wird dann mit einer Art "Hardlink" bei der Installation jedes Modells verwiesen. Ich darf aber nicht die Ordnernamen in "Out-of-box Drivers" verändern, da die Verlinkung sonst nicht mehr funktioniert.

Der Grund für die Duplikate liegt also im Hash, da MDT beim Import für verschiedene Hashes auch verschiedene Ordner anlegt.
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Windows XP x86/x64 - Setup von WIM (XP2ESD): viewtopic.php?t=28372

Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2217
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 231 Mal
Danke erhalten: 308 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von Holgi » 20.09.2023, 13:33

hast du da ggf. "Import drivers - Even if they are duplicates" angeklickt?
https://learn.microsoft.com/en-us/mem/c ... se-the-mdt
https://4sysops.com/archives/add-and-re ... owershell/
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
g-force
Elite
Elite
Beiträge: 2052
Registriert: 07.10.2016, 19:30
Hat sich bedankt: 282 Mal
Danke erhalten: 247 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von g-force » 20.09.2023, 13:41

Nein, das wird niemals angeklickt. Wenn ein Treiber denselben Hash hat, wird er auch nicht erneut importiert.
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Windows XP x86/x64 - Setup von WIM (XP2ESD): viewtopic.php?t=28372

Benutzeravatar
Thomas62
Spezialist
Spezialist
Beiträge: 160
Registriert: 16.09.2021, 10:44
Hat sich bedankt: 38 Mal
Danke erhalten: 1 Mal
Gender:

Re: Treibersicherung - Hilfe bei PS-Script

Beitrag von Thomas62 » 24.09.2023, 12:51

du sagst 20 Rechner als bsp.

Sind die alle Baugleich ?

Warum nicht einmal Windows installieren komplett ?

Vom Windows Image erstellen und auf den anderen 19 Rechner einspielen.
MSI B450 Gaming Plus Max AMD Ryzen 9 3900x 12C / 24 TH 3.80GHz -- 4.60 GHz +32 GB Ram


PALIT 1660 STORMx 6 GB Ram

Win 11 (64 bit) Pro​

Antworten