We're a 90% Dell shop and I'm trying to change our current system of driver installs via TS OSD to using Dell Command Update but it seems any placement I put the step in, it finishes the OSD without a domain join and no software installed. The machine also finishes without drivers installed including network adapter.
Looking at the logs it seems to finish after the last WinPE restart then nothing else.
I'm currently using Dell CU 4.0 with the string below.
"C:\Program Files\Dell\CommandUpdate\dcu-cli.exe" /applyUpdates
Has anyone been able to successfully implement this to their Dell machines to completely replace driver install for Dell machines at least?
Hey there fellow sysadmins. Just figured I could share some good news.
If you've ever worked with DCU-CLI.exe in a SCCM task-sequence, the command line utility for Dell Command Update, you've probably run into the dreaded "Return Code 2", see:
-
https://www.reddit.com/r/SCCM/comments/xfg8of/dell_command_update_return_code_2/
-
https://www.reddit.com/r/sysadmin/comments/9hchg8/dell_command_update_exit_codes/
There was a bug in DCU, that prevents it from running all commands under the NTAUTHORITY\SYSTEM context, which SCCM runs all tasks under. In an already deployed OS, via user-mode they will run fine, but not PXE. This presents an issue if you want to deploy firmware updates during your PXE Deployment.
On May 9th, Dell released Dell Command | Update 4.9. It is now able to run a scan, configure, and apply updates in the SYSTEM context -- woohoo!
We are using PSADT (Powershell App Deployment Toolkit) to run these commands.
Basically, install Dell Command | Update 4.9 on the machine during the task sequence, package is:
-
Dell-Command-Update-Application_30F6M_WIN_4.9.0_A01
You can extract the .MSI file with a command similar to:
(CMD): Dell-Command-Update-Application_30F6M_WIN_4.9.0_A01.EXE /PASSTHROUGH /X /B"C:\Temp\DCU4.9.0" (PSADT .ps1 script): Execute-MSI -Action 'Install' -SkipMSIAlreadyInstalledCheck -Path 'DellCommandUpdate.msi' -Parameters '/q'
To be safe, we are still using the 8dot3 format, but at least it finally runs!
$DCUCLI="C:\PROGRA~2\Dell\COMMAN~1\dcu-cli.exe" & "$DCUCLI" /scan & "$DCUCLI" /configure -biosPassword=YourPassword & "$DCUCLI" /applyupdates -reboot=disable
Please note:
-
C:\PROGRA~1 = C:\Program Files\
-
C:\PROGRA~2 = C:\Program Files (x86)\
Hoping this helps someone else out there, and kudos to Dell for finally fixing this bug that has persisted since DCU 4.1!
Struggling to get DCU to run during the TS. Below is what my setup looks like (took these from someone elses post). Using DCU 5.1.0. I can briefly see the cmd window open during the TS but it quickly closes. What am I doing wrong?
Step name: Dell Driver Install (x64)
Run Command Line:
cmd.exe /c "C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" /driverInstall -reboot=disable -outputLog=C:\DellDriversDuringImaging.log
Step name: Restart Computer to OS
Step name: Dell Update Install (x64)
Run Command Line:
cmd.exe /c "C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" /ApplyUpdates -updatetype=BIOS,firmware,driver -reboot=disable -outputLog=C:\DellUpdatesDuringTS.log
I want to be able to install and run Dell Command Update during my Win10 x64 1709 OSD task sequence but am not sure of the best way to do this. I haven't really found too much online.....any suggestions? Thanks in advance! (SCCM current branch)
I've noticed my DCU isn't pulling down BIOS updates, only driver updates. My xml settings include drivers, firmware, and BIOS. The Dell reference guide for DCU states if no options are used with scan and apply updates, the existing application settings will be used. The existing settings should be those applied by the imported xml. I verified once in Windows that the settings are imported. Why are the BIOS updates not pulling down?
In my TS I have the following steps: Install DCU Import settings (xml) Scan Apply updates
Is there a way to have dell command update to only update the bios and audio driver?
I am trying to put together a script to automate this which fixes a JWT issue we have.
I'm running a step in my TS to apply updates from Dell's DCU CLI. The scan step finds 12 updates, the apply step downloads and successfully installs the 12 updates, then exits with error code 1. The reboot switch is set to disable for the syntax below.
I notice DCU doesn't download all applicable drivers, so it looks like I'll continue using MDM to download driver packages, and DCU to supplement MDM. But I'd still like DCU to run properly.
Edit: mentioning the output log file from DCU cli, no errors, the log ends showing the 12 updates were installed successfully. Completed with return code: 1.
Failure at the end of the log
Having an issue updating BIOS versions on Dell machines. I have a TS setup in SCCM to suspend bitlocker, disable the BIOS password, run the update, then enable BIOS password again. Pretty straight forward, so I thought. When I run the TS, it fails and the log that written states: Error: Unsupported BIOS image. Exit Code = 10 (Payload Failure).
However, if I run the task sequence commands manually from command prompt, it works. I copy the CCTK folder locally, and copy the BIOS update locally, then everything updates as expected. What am I missing?
I work on a network that has around 10k devices managed in SCCM. We want to roll out Dell Command Update, but networking and security departments are concerned about bandwidth usage when DCU pulls updates from the internet. I suggested creating multiple configurations of the application with separate schedules so all the devices aren't attempting to update at once. But I wanted to know if anyone has come up with a better strategy for this. Seeing as how we have so many devices that we manage, I'm going to need to find a sweet spot for bandwidth that security and network departments are happy with. I've noticed BIOS exe files (the main reason we are wanting to utilize DCU) can be anywhere between 20-50 MB, so I wanted to find out what solutions and strategies others have come up with to avoid bandwidth issues with DCU on larger enterprise networks. Do you create several collections and several software configurations? How many devices do you include in each collection for production rings? Or do you not experience any bandwidth issues at all? OR, is there a better way to go about this entirely, other than using Dell Command Update? I appreciate any input. Thanks.
Update with my solution:
Here's the script I'm going to use:
$computertype = (Get-CimInstance -ClassName Win32_SystemEnclosure -Property ChassisTypes).ChassisTypes
$week = @('First','Third','Fourth') | Get-Random
$day = @('Mon','Tue','Wed','Thur','Fri') | Get-Random
if ($computertype -eq 3)
{
$hh = @(0,1,2,3,4,5,6,17,18,19,20,21,22,23 | ForEach-Object { $_.ToString("D2")} | Get-Random
}
Else
{
$hh = @(7, 8, 9, 10, 11, 12, 13, 14, 15, 16) | ForEach-Object { $_.ToString("D2")} | Get-Random
}
$mm = @(0,15,30,45) | ForEach-Object { $_.ToString("D2")} | Get-Random
$schedule = "$week,$day,$hh`:$mm"
$arg = "/configure -scheduleMonthly $schedule"
Start-Process -FilePath "C:\Program Files\Dell\CommandUpdate\dcu-cli.exe" -ArgumentList $arg -WaitThis script will split desktops and laptops on different hours of the day. Desktops on average down hours. Laptops on average uptime hours. I avoided the second week of the month since dell releases driver updates on the second Tuesday of each month. I figure one deployment for the software install itself. one deployment for configuration with Production schedule. One Test schedule for test devices and this schedule will be Wednesday, Thursday, Friday of the second week of the month to test with the latest updates. Then one deployment that forces updates to run for any time there's a major security update that needs to be pushed out as soon as possible.
That's the plan so far. I appreciate all the input. I feel like this my solution is going to ultimately be less overhead than both on-prem repo and deploying as a package with multiple collections. That's kinda what I'm going for. Let me know your feedback on anything you might see going wrong here though. I've made mistakes before and I own them. so there's no such thing as bad feedback to me. Thanks again!
We’re using dcu-cli.exe with the “-reboot=disable” parameter which works fine except when a bios update is involved. When it is, that parameter is ignored and a reboot is initiated. Anyone find a way to disable this forced reboot? Asking as we’d like SCCM’s Restart Notifications to better gracefully handle the restart. Thanks all.