Returns a list of ProgIDs (Programmatic Identifiers) found on a computer.

This script was tested using Object REXX 2.1.0 for Microsoft Windows, available from IBM.

Object REXX
Edit|Remove
strComputer = "."
objWMIService = .OLEObject~GetObject("winmgmts:\\"||strComputer||"\root\CIMV2")
do objItem over objWMIService~ExecQuery("Select * from Win32_ProgIDSpecification")
    say "Caption:" objItem~Caption
    say "Check ID:" objItem~CheckID
    say "Check Mode:" objItem~CheckMode
    say "Description:" objItem~Description
    say "Name:" objItem~Name
    say "Parent:" objItem~Parent
    say "ProgID:" objItem~ProgID
    say "Software Element ID:" objItem~SoftwareElementID
    say "Software Element State:" objItem~SoftwareElementState
    say "Target Operating System:" objItem~TargetOperatingSystem
    say "Version:" objItem~Version
end