Powershell-Script: Treiber sichern

Antworten
Benutzeravatar
g-force
Elite
Elite
Beiträge: 2380
Registriert: 07.10.2016, 19:30
Hat sich bedankt: 353 Mal
Danke erhalten: 355 Mal
Gender:

Powershell-Script: Treiber sichern

Beitrag von g-force » 04.07.2023, 17:08

Ich möchte mit folgendem PS-Script automatisch Treiber in einen (zu erstellenden) Ordner sichern:

Code: Alles auswählen

$model =  Get-WmiObject -Class Win32_ComputerSystem | Select-Object -ExpandProperty SystemFamily
New-Item $model -itemtype Directory -force
DISM /online /export-driver /destination:S:\UPLOAD\DISM-Treiber\$model
Leider wird "$model" teilweise mit Leerzeichen ausgegeben (z.B. "Thinkpad T470s"). Bei der Erzeugung des Ordners wird ein Ordner names "T470s" erzeugt, es fehlt also ein Teil des Namens. Daran scheitert dann DISM, den dort wird der Ordner "Thinkpad T470s" erwartet.
Der Fehler liegt also in Zeile 2, wo der Ordner erzeugt wird. Weiß jemand eine Lösung?
Zuletzt geändert von g-force am 04.07.2023, 17:56, 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
Mein Home-Server: http://gofile.me/7psKS/mVZltKndw

Tante Google

Powershell-Script: Treiber sichern

Beitrag von Tante Google » 04.07.2023, 17:08


Benutzeravatar
g-force
Elite
Elite
Beiträge: 2380
Registriert: 07.10.2016, 19:30
Hat sich bedankt: 353 Mal
Danke erhalten: 355 Mal
Gender:

Re: Powershell-Variable enthält Leerzeichen

Beitrag von g-force » 04.07.2023, 17:14

Oh man... :ohno:

Wenn ich das auf Clients im Netzwerk ausführe, muß ich natürlich den kompletten Pfad eintragen!

Code: Alles auswählen

$model =  Get-WmiObject -Class Win32_ComputerSystem | Select-Object -ExpandProperty SystemFamily
New-Item "S:\UPLOAD\DISM-Treiber\$model" -itemtype Directory -force
DISM /online /export-driver /destination:"S:\UPLOAD\DISM-Treiber\$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
Mein Home-Server: http://gofile.me/7psKS/mVZltKndw

Benutzeravatar
g-force
Elite
Elite
Beiträge: 2380
Registriert: 07.10.2016, 19:30
Hat sich bedankt: 353 Mal
Danke erhalten: 355 Mal
Gender:

Re: Powershell-Script: Treiber sichern

Beitrag von g-force » 07.07.2023, 13:19

Nachdem ich festgestellt habe, daß nicht alle Hersteller konform mit den Variablen ("Get-WmiObject") umgehen, habe ich eine Variable eingebaut, um die Info besser zu übergeben. Besonders "Lenovo" fällt mit Abweichungen auf.

Code: Alles auswählen

$computerSystem = Get-WmiObject -Class Win32_ComputerSystem

$manufacturer = $computerSystem.Manufacturer

$family = $computersystem.SystemFamily

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

New-Item "S:\UPLOAD\DISM-Treiber\$manufacturer\$model" -itemtype Directory -force
DISM /online /export-driver /destination:"S:\UPLOAD\DISM-Treiber\$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
Mein Home-Server: http://gofile.me/7psKS/mVZltKndw

Benutzeravatar
DK2000
Legende
Legende
Beiträge: 9604
Registriert: 03.04.2018, 00:07
Hat sich bedankt: 187 Mal
Danke erhalten: 602 Mal
Gender:

Re: Powershell-Script: Treiber sichern

Beitrag von DK2000 » 07.07.2023, 13:27

Get-WmiObject ist veraltet und steht teilweise auch nicht mehr zur Verfügung. Das würde durch Get-CimInstance ersetzt.

Aber ob dass das Problem war, keine Ahnung. Weiter unten verwendest Du ja schon Get-CimInstance.

Benutzeravatar
g-force
Elite
Elite
Beiträge: 2380
Registriert: 07.10.2016, 19:30
Hat sich bedankt: 353 Mal
Danke erhalten: 355 Mal
Gender:

Re: Powershell-Script: Treiber sichern

Beitrag von g-force » 07.07.2023, 16:15

Ich verwende das Ganze innerhalb von MDT mit WDS. Deswegen sind mir auch die Befehle etwas durcheinander geraten (obwohl sie in diesem Fall funktionieren). Vielen Dank für den Hinweis!
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
Mein Home-Server: http://gofile.me/7psKS/mVZltKndw

Antworten