Powershell-Script: Treiber sichern
- g-force
- Elite
- Beiträge: 2380
- Registriert: 07.10.2016, 19:30
- Hat sich bedankt: 353 Mal
- Danke erhalten: 355 Mal
- Gender:
Powershell-Script: Treiber sichern
Ich möchte mit folgendem PS-Script automatisch Treiber in einen (zu erstellenden) Ordner sichern:
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?
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
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
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
- g-force
- 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
Oh man...
Wenn ich das auf Clients im Netzwerk ausführe, muß ich natürlich den kompletten Pfad eintragen!
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
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
- g-force
- 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
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
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
- DK2000
- 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
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.
Aber ob dass das Problem war, keine Ahnung. Weiter unten verwendest Du ja schon Get-CimInstance.
- g-force
- 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
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
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