Library / Windows endpoint

WIN-009 · Script

Installed Software Inventory

Builds a list of installed software for the whole device and saves it as a CSV.

Version 1.0.0Language PowerShellUpdated November 2026Report only, changes nothing

What it does

Reads the standard uninstall registry locations for 64-bit apps, 32-bit apps, and per-user apps for every loaded user profile. It does not query the Win32_Product class, which is slow and can trigger app repairs. Saves results to a CSV file and prints a summary. Read-only.

Requirements

Windows PowerShell 5.1+, run as SYSTEM or local admin

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
NameFilterOptional wildcard to search for, for example "*Zoom*". Exit code 1 if the filter is given and nothing matches.
OutputPathCSV path. Default C:\ProgramData\Runbookia\Reports\InstalledSoftware.csv(Join-Path $env:ProgramData 'Runbookia\Reports\InstalledSoftware.csv')

Exit codes

  • 0 = success, 1 = filter given and no match, 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. It saves a CSV and changes nothing else.

Version and change log

VersionDateChanges
1.0.0November 2026First release.