Skip to main content

OEM Update With Prompt

Overview

This is a Ninja implementation of the agnostic Invoke-OEMUpdateWithPrompt

The script prompts logged-in users before BIOS and firmware updates, allows postponement for a configured number of cycles, and then enforces the update. It is designed for a single deployment from Ninja RMM, then continues through scheduled task re-runs on the endpoint.

Sample Run

Play Button > Run Automation > Script
SampleRun1

Dependencies

Examples

Scenario 1: OEMScriptParametersOverride

Custom parameter string passed to the vendor update script, replacing the default parameter set for the detected manufacturer.

Image 01

  • For PSWindowsUpdate, set OEMScriptParametersOverride = -Category 'Drivers','Tools' -AllowReboot
  • For Dell DCU, set OEMScriptParametersOverride = '/applyUpdates -updateType=bios -silent'

Scenario 2: UsePsWindowsUpdate

Run with user parameter UsePsWindowsUpdate = True. Please ensure that the corresponding checkbox is selected before executing the script.

Expected output:

  • Update execution path uses Install-WindowsUpdates flow.
  • This runs Windows update instead of vendor-specific updates

Scenario 3: IfNotLoggedIn

Run with user parameter IfNotLoggedIn = True. Please ensure that the corresponding checkbox is selected before executing the script.

Expected output:

  • If no user session is active, update starts without prompting.
  • If a user is logged in, normal prompt workflow continues.

Scenario 4: HandleBitLocker

Run with user parameter HandleBitLocker = True. Please ensure that the corresponding checkbox is selected before executing the script.

Expected output:

  • BitLocker is suspended before update execution for one reboot cycle.
  • If no reboot is needed, BitLocker is resumed at completion.

Scenario 5: Force

Run with user parameter Force = True. Please ensure that the corresponding checkbox is selected before executing the script.

Expected output:

  • Existing OEM prompt scheduled tasks are removed.
  • Stored prompt state is reset.
  • Prompt workflow starts again from the beginning.

Scenario 6: SkipWeekends

Run with user parameter SkipWeekends = True. Please ensure that the corresponding checkbox is selected before executing the script.

Expected output:

  • There will be no popup get generated on the users machine during weekend.
  • Will is usefull as user will not miss any popup during weekends.

Sample Prompts

The First prompt that will get generated on the user machine.
Image 1

This prompt is shown while the update needs to be schedule on particular time.
Image 2

The prompt shows the confirmation that update is scheduled and will start on the particular time and need aknowledgement.
Image 3

The prompt shows the confirmation that update has been completed and reboot is required.
Image 4

Parameters

NameCalculated NameExampleAccepted ValuesRequiredDefaultTypeDescription
MaxPostponemaxpostpone--0-5True5string/textMaximum number of times the upgrade can be postponed before the final prompt is shown. Total prompts = MaxPostpone + 1 (final).
IntervalMinutesintervalminutes--0-240True240string/textMinutes between each prompt. After postpone or miss, a SYSTEM scheduled task re-runs the script at this interval.
RegularPromptTimeoutRegularPromptTimeout--0-600True600string/textSeconds before a regular prompt auto-closes and counts as missed.
FinalPromptTimeoutfinalprompttimeout--0-900True900string/textSeconds before the final prompt times out and the upgrade is forced.
SkipWeekendsskipweekends--True/FalseFalseFalseCheckboxPrevents prompts on Saturdays and Sundays.
IfNotLoggedInifnotloggedin--True/FalseFalseFalseCheckboxRuns the upgrade immediately without prompting if no user is logged in.
Forceforce--True/FalseFalseFalseCheckboxClears all scheduled tasks and stored state, restarting the prompt cycle from 0.
UsePsWindowsUpdateusepswindowsupdate--True/FalseFalseFalseCheckboxUses the PSWindowsUpdate module instead of OEM-specific scripts (Dell/HP/Lenovo).
HandleBitLockerhandlebitlocker--True/FalseFalseFalseCheckboxSuspends BitLocker protection on the OS drive for one reboot cycle before OEM updates run. If no reboot is required after the update, BitLocker protection is automatically resumed.
SuppressPopupTimeWindowssuppresspopuptimewindows1800-0900---False--string/textMTime window (24-hour format, e.g., 1800-0900) during which prompts are suppressed.
Iconiconhttps://example.com/icon.png--------string/textURL or local file path for the icon displayed in the prompt dialog (e.g., https://example.com/icon.png or C:\Icons\icon.png).
HeaderImageheaderimagehttps://example.com/header.png or C:\Images\header.png------string/textURL or local file path for the header image displayed at the top of the prompt dialog (e.g., https://example.com/header.png or C:\Images\header.png).
OEMScriptParametersOverrideoemscriptparametersoverride
  • for Dell DCU '/applyUpdates -updateType=bios -silent'
  • for PSWindowsUpdate -Category 'Drivers','Tools' -AllowReboot
------string/textCustom parameter string passed to the vendor update script, replacing the default parameter set for the detected manufacturer

Automation Setup/Import

Automation Configuration

Output

  • Activity Details

Changelog

2026-06-19

  • Initial version of the document.