ConfigMgr: Splash Screen for Driver and BIOS Update

BEFORE YOU BEGIN

In this blog I will be using a Splash Screen script original created by Trevor Jones.

THE SPLASH SCREEN

In my search for a solution to display information to our end users during In-Place Upgrade, I found a blog by Gary Blok, which led me to the original blog from Trevor Jones.

I will not be diving deep into the details, so please read Trevor and Gary's blog above if you want detailed information about the Splash Screen.

My version is based on the original and the modified version by Gary, I started with Trevor's "Take 2" version and took some bit from Gary's version before I modified it to fit my own environment and needs.

During this process I found another purpose for the Splash Screen, why not use it for driver and BIOS update on existing machines in my environment?

Splash Screen - Welcome
Splash Screen - We are doing...
Splash Screen - Should anything go...

A fully integrated Modern Driver and BIOS Management solution by @SCConfigMgr is running behind the scenes.

Changes I've made:

Added:

  • Several Task Sequence variables for multi-language purpose

    • SG_Welcome_001 = Hi

    • SG_Welcome_002 = there

    • SG_Information_001 = Don’t turn off your PC

    • SG_Progress_001 = Driver and BIOS Update Progress

    • SG_Progress_002 = Windows Setup Progress

  • MetroProgressBar color

  • ProgressBar for Driver and BIOS purpose

Changed:

  • GivenName split command

  • Renaming some of the Task Sequence variables

  • Final sentence to display the Task Sequence SA_002

  • ProgressRing color

  • ProgressBar Visibility = Default set to hidden, will only show is registry name found

  • ProgressBar to MetroProgressBar

  • Slowed down the rotating text

  • Default Window and Animation color

Removed:

  • Stopwatch / Timer

Multi-Language

Splash Screen - Danish
Splash Screen - Norwegian

Task Sequence Settings

Task Sequence - Splash Screen

I've created some new global variables for welcome, progress and general information in different languages.

Task Sequence - Splash Screen

I detect the language from the above registry settings.

Task Sequence - Splash Screen

I've created some update variables that will be added into an array to be displayed in the rotating text screen and in different languages.

Task Sequence - Splash Screen

Because I hide the TS Progress UI during my main Task Sequence, I'm using –process: Explorer.exe instead, since the process TSProgressUI.exe is not running.

The ProgressBar

Woah! How did you create the progressbar and the % completed, you might ask?

Task Sequence - Dynamic Driver and BIOS Update

I simply created a registry key with a small PowerShell script and added a value with a parameter that the Splash Screen script reads.

Task Sequence - Dynamic Driver and BIOS Update

I re-use that script and just add new values with the parameter

Task Sequence - Dynamic Driver and BIOS Update

At the end of my Task Sequence, I remove the registry key with another small PowerShell script.

Scripts

Script (Create Progress)

Script (Remove Progress)

To implement the Splash Screen with my changes, download the original Splash Screen from Trevor's GitHub repo, which includes all the files you need, and then replace the content of the two files with this content:

Script (SplashScreen.xaml)

Script (Create-FullScreenBackground.ps1)

A special thanks go to Trevor Jones and Gary Blok! If you have any questions regarding this topic, feel free to reach out to me. I am most active on Twitter!

Now go out and impress your boss and colleagues!

Last updated

Was this helpful?