Installed Application Inventory for Windows Endpoints

A read-only PowerShell inventory starter for collecting installed applications from local or remote Windows endpoints.

Good For

  • software audits
  • migration prep
  • support handoff
  • baseline documentation

How to Use It

  1. Run from an elevated PowerShell session only if your environment requires registry access elevation.
  2. Collect both 64-bit and 32-bit uninstall registry views.
  3. Filter out blank DisplayName values before exporting results.
  4. Use the local mode first to confirm output shape on one machine.
  5. Use remote single-host mode for support triage, then host-list mode for audits.
  6. Export to CSV when comparing systems or attaching evidence to a ticket.

Execution Modes

  • local
  • remote-single-host
  • remote-host-list

Inputs and Outputs

Inputs

  • local computer
  • single hostname
  • CSV host list
  • TXT host list
  • future Active Directory query

Outputs

  • verbose-console
  • csv
  • future-html-report

Command Starter

Safe to run: read-only

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate
Get-ItemProperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate

Validation

  • The CSV contains app names, versions, publishers, and install dates where available.
  • Known installed applications appear in the export.
  • Blank registry entries are filtered out before review.

Reporting

  • local CSV export
  • consolidated multi-host CSV
  • future polished HTML audit report

Safety Notes

  • Keep the default inventory mode read-only.
  • Avoid Win32_Product inventory because it can trigger MSI repair behavior.