Library / Windows endpoint

WIN-029 · Script

Windows 11 Upgrade Readiness Check

Checks TPM, Secure Boot, UEFI, CPU, RAM and disk against the Windows 11 hardware requirements and reports whether the device looks ready.

Version 1.0.0Language PowerShellUpdated November 2026Report only, changes nothing

What it does

Report only. Nothing is changed. Checks:

  • Firmware: UEFI (legacy BIOS fails)
  • Secure Boot: capable (required) and enabled (warning if off)
  • TPM: present, enabled and version 2.0
  • CPU: 64-bit, 2 or more cores, 1 GHz or faster, and an approximate

generation check (Intel Core 8th gen or later, AMD Ryzen 2000 or later, Qualcomm Snapdragon). Processors the script cannot place are marked "Check" so you can compare them with Microsoft's supported CPU list.

  • RAM: 4 GB or more
  • System disk: 64 GB or more, and at least -MinFreeGB free on the system drive

Where Windows has already run its own compatibility appraisal, that result is logged too.

Each check is Pass, Fail, Warn or Check. The device is reported as Ready only when no check is Fail or Check. Devices already on Windows 11 are reported and exit 0. A one-row CSV is written to -ReportDir unless -NoReportFile is used. Runs silently as SYSTEM from any RMM or Intune. No prompts, no user interaction.

Requirements

Windows PowerShell 5.1+, run as SYSTEM or local admin (TPM and Secure Boot queries need admin rights)

How to run it

  • Run as: SYSTEM or a local administrator
  • Run from: any RMM or MDM, Intune, a Group Policy startup script, a scheduled task, or an elevated PowerShell window
  • Script type: PowerShell, 64-bit
  • User interaction: none; the script never prompts
  • Timeout: 10 minutes (30 for Windows Update installs)

Settings

NameWhat it doesOptionsDefault
MinFreeGBFree space on the system drive needed for the upgrade, in GB. Default 20.20
ReportDirFolder for the CSV report. Default C:\ProgramData\Runbookia\Reports.C:\ProgramData\Runbookia\Reports
NoReportFileDo not write the CSV, only the log.False

Exit codes

  • 0 = Ready, or already on Windows 11
  • 1 = Not ready, or needs a manual check (see the log for which check)
  • 2 = Script error

Testing steps

  1. Run it on one test device and check the output and log.
  2. Check the exit code: 0 = OK, 1 = needs attention, 2 = error (see log), 9 = this copy is past its Valid until date.
  3. Roll out to a small group next, then everyone.

Rollback steps

Report only. Nothing is changed, so nothing needs to be rolled back.

Version and change log

VersionDateChanges
1.0.0November 2026First release.