Dell BIOS Download and Update CM Package

This Script connects to your ConfigMgr then compares the list of BIOS Updates to what Dell has available. Note, there are some other great tools like the Driver Automation Tool, but those didn’t fit my needs and I wanted to fully automate this with scheduled tasks.  We also had issues using the tool in our network due to our proxy servers, so I wrote my own.

This tool will download the Files, and Update the Package Info (Does NOT create the CM Packages)

Build your list of Dell Models, Let it know the Package Number, then the script will do the rest.  I also have this script send me an email, you’ll need to update it to fit your needs.

Your List of Dell Models & the associated Package ID:

From the image below, you can see that it will fill out the Version, and Description.
I have it use the Language Field for the KB ID / Release ID information. (Note, I do the same thing for Dell Driver Packs… soon to be blogged, it’s like 80% the same code)


My plan is to use this on weekly scheduled task, that will run, download the updated BIOS, update the source content, update the package information, trigger distribution update, then sent alert (email) to let me know what's up.

This code would also allow you to make some small adjustments to allow you to download the BIOS needed for the machine you’re running it from, then apply it.  That Blog Post is here: but I need to go back and fix it, as Dell has changed the CAB file downloads since I wrote that.

How we use it.. We automatically download and Update PILOT packages, we then test in a PILOT Task Sequence.   Once we’ve tested to our content, we promote the version to Production.  Future Blog Post.

Applying the BIOS / Drivers are also completely dynamic and automated using Task Sequence Variables, you can get a sneak peak of that on this POST:  Look for Dynamic Drivers section.  We do the same process for BIOS.  Perhaps going through that process is a future post to go into depth.

Running Script:

Script downloads the SCUP Cab File 8MB, then extracts it 168MB, then mounts it to $XML


Then starts comparing what you have in CM to what Dell has available, if it finds one, it uses BITS to download it.  I’m using BITS because we have some crappy Proxy Servers that tend to drop my downloads at random times, BITS allows me to keep retrying and often picks up where it left off.  This isn’t a big deal for BIOS downloads, but it is for the Driver Cab downloads.

Folder Structure: Creates Archive Folder to keep BIOS Updates FOREVER.. and Current Folder which is the most updated version, and what the CM Package Points to.  PowerShell is just where I keep the scripts.

Email – I’m using GMAIL in my lab as my relay service, if you wish to do the same, you’ll need to make a change to make it less secure.  I’d recommend a completely separate email account with crazy difficult password.  More info:

When Updates Needed:

When No Updates Needed:

Running in UpgradeCMPackageOnly Mode:
This mode will skip updating the source files, and only update information in CM.
This is useful if you want to update the the Description fields, etc.  NOTE, it will update fields to the LATEST Version from Dell, even if you didn't update the source.



2 thoughts on “Dell BIOS Download and Update CM Package”

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.