Hallo community,
hier folgt eine kleine Anleitung, wie man Gerätetreiber von Dell Computern in einer Firmenumgebung vollautomatisiert aktualisieren kann.
Punkt eins, es gibt verschiedene Tools von Dell die Treiber aktualisieren können, für
Privat PCs empfiehlt sich durchaus
Dell Support Assist,
auf
Firmengeräten wollen wir
Dell Command | Update, da dies ein eigenes command line interface hat und damit konfiguriert werden kann.
Als erstes muss sichergestellt werden, dass kein
Dell Support Assist oder
Dell Update mehr installiert ist, sonst schlägt die Installation fehl.
Ebenso gilt, dass
keine ältere Dell Command | Update Version mehr installiert sein darf,
wenn der
MSI Installer verwendet werden soll.
Der
EXE Installer von
Dell Command | Update kann im Normalfall mit
/S als Installationsparamater auch Upgrades bestehender Installationen
durchführen.
Hier findet ihr uninstall strings von unterschiedlichen Dell Support Assist Versionen:
::3.6.x
"C:\Program Files\Dell\SupportAssistAgent\bin\SupportAssistUninstaller.exe" -s
::old version
"C:\Program Files\Dell\SupportAssist\uninstaller.exe" /arp
::2.1.3.5
MsiExec.exe /qn /norestart /X{8D7B279C-A661-465C-9658-F62FBD6A6B91}
::2.1.4.14
MsiExec.exe /qn /norestart /X{9DD6B149-CEBC-4910-B11A-242393EDF6D3}
::2.2.3.2
MsiExec.exe /qn /norestart /X{4CB4741A-20C1-454E-8276-993D06A76D67}
::3.0.0.145
MsiExec.exe /qn /norestart /X{56114D24-F838-4743-9B51-D4267E1A3C34}
::3.0.1.62
MsiExec.exe /qn /norestart /X{50EF2C72-95EC-4206-AAC3-9E84004A6140}
::3.0.2.48
MsiExec.exe /qn /norestart /X{5A18ABE3-52D1-4CA5-9169-25EC7E789582}
::3.1.0.142
MsiExec.exe /qn /norestart /X{E98E94E2-12D1-48E5-AC69-2C312F466136}
::3.2.0.90
MsiExec.exe /qn /norestart /X{45FD01F4-B11B-4A58-B465-1D600B5CDF64}
::3.2.1.94
MsiExec.exe /qn /norestart /X{0309AC01-330F-494C-B27D-58E297E4674F}
::3.3.0.341
MsiExec.exe /qn /norestart /X{425786D5-8047-4CB6-AE91-0EE67BD829F8}
::3.4.0.22
MsiExec.exe /qn /norestart /X{AEFE431B-C6FB-449E-B2DB-93E67B8B1DAF}
:: 3.9.0.234
MsiExec.exe /qn /norestart /X{5106801D-CA18-4173-85B9-D74C33358F7F}
Als Fallbackvariante habe ich noch dieses Powershell Skript im Einsatz, das auch die AppX und andere Versionen von Dell Support Assist wegbügelt:
<#
.Synopsis
Checks and uninstall Dell SupportAssist for PCs if installed on the box.
.Description
This script checks and uninstall Dell SupportAssist for PCs if installed on the box.
.Example
.\CheckAndUnInstall.ps1
#>
Set-ExecutionPolicy Bypass -Force
Function RemoveConsumerAppxPackage
{
$CurrentAppxPkg = Get-AppxPackage -AllUsers | Where-Object { $_.Name -like "DellInc.DellSupportAssistforPCs" }
if($CurrentAppxPkg)
{
& "$env:ProgramFiles\Dell\SupportAssistAgent\bin\Appx\RemoveExistingAppx.ps1"
& "$env:ProgramFiles\Dell\SupportAssistAgent\bin\Appx\RemoveAppxPackage.ps1"
}
}
# Check if SA Consumer Appx is installed on the box
Function CheckAndUnInstall-SAConsumerVersion
{
# Check the version of SA Consumer
$CurrentSAPkg = Get-WMIObject -Class Win32_Product | Where-Object { $_.Name -like "Dell SupportAssist" }
if(Test-Path 'HKLM:\SOFTWARE\DELL\SupportAssistAgent')
{
$SAVer = Get-ItemProperty -Path 'HKLM:\SOFTWARE\DELL\SupportAssistAgent' | Select-Object -ExpandProperty Version
if($SAVer)
{
# remove Appx if existing
RemoveConsumerAppxPackage
if($SAVer -like "1.5.*" -or $SAVer -like "1.6.*")
{
# do nothing
}
else
{
$MSIArguments = @(
"/x"
('"{0}"' -f $CurrentSAPkg.IdentifyingNumber)
"/quiet"
)
Start-Process msiexec.exe -Wait -ArgumentList $MSIArguments
}
}
}
}
CheckAndUnInstall-SAConsumerVersion
Dell Update uninstall strings:
uninstall Dell Update 3.x
MsiExec.exe /qn /norestart /X{70E9F8CC-A23E-4C25-B292-C86C1821587C}
uninstall Dell Update 4.x
MsiExec.exe /qn /norestart /X{944FB5B0-9588-45FD-ABE8-73FC879801ED}
Damit ist erstmal gewährleistet, dass keine consumer software, die die Installation von Dell Command | Update verhindert, mehr auf dem PC vorhanden ist.
Als nächstes wollen wir ältere Versionen von Dell Command | Update verschwinden lassen, wenn wir den MSI-Installer verwenden, hier die dafür nötigen uninstall strings:
uninstall Dell Command | Update 2.x
MsiExec.exe /qn /norestart /X{EC542D5D-B608-4145-A8F7-749C02BE6D94}
uninstall Dell Command | Update 3.x
MsiExec.exe /qn /norestart /X{0C8D5FDB-111E-4F8C-B469-5F330066410E}
uninstall Dell Command | Update 4.x
MsiExec.exe /qn /norestart /X{4CD85DD3-A024-4409-A0F2-F70DE1E4A935}
uninstall Dell Command | Update 3.x for Windows 10
MsiExec.exe /qn /norestart /X{5669AB71-1302-4412-8DA1-CB69CD7B7324}
uninstall Dell Command | Update 4.x for Windows 10
MsiExec.exe /qn /norestart /X{4CCADC13-F3AE-454F-B724-33F6D4E52022}
Jetzt brauchen wir die aktuelle Version von Dell Command | Update, die zum jetzigen Zeitpunkt Version 4.2 ist, welche hier bezogen werden kann:
https://www.dell.com/support/kbdoc/...-update?lang=enAus der EXE Datei kann das MSI Package extrahiert werden, nach folgender Anleitung:
https://www.dell.com/support/kbdoc/...allationspaketsDas MSI Package kann so silent installiert werden:
msiexec.exe /i "DellCommandUpdate.msi" ALLUSERS=1 /qn /norestart /log output.log
Jetzt konfigurieren wir Dell Command | Update so, dass nur die Applikation selbst und Gerätetreiber aktualisiert werden, das Updaten von EFI bzw. BIOS und device firmwares sollte unbedingt in einem anderen Workflow erfolgen, um diversen Problemen aus dem Weg zu gehen:
"C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" /configure -silent -updatetype=driver,application -userConsent=disable
Zu guter Letzt können wir mit folgendem Befehl die jeweils passenden und aktuellsten Gerätetreiber von Dell herunterladen und im Hintergrund installieren, ohne dabei einen Neustart zu erzwingen:
"C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" /applyupdates -silent -reboot=disable -outputlog=C:\temp\dcu.log
Wenn man das ganze auf die Spitze treiben will, kann man das driver repository auch selbst hosten und muss dieses dann auch eigenständig aktuell halten. Selbst dafür gibt es Software von Dell
Wenn jemand für andere Hersteller eine ähnliche Prozedur auf Lager hat,
würde ich mich über das Teilen dieses Wissens sehr freuen
Pass on what you have learned - Yoda