Could this script be adapted to allow for an internal blacklist that we can build up based on programs that we would always want to be removed. Bonus if we can blacklist by company or use wildcards so version numbers in the names don’t matter.
Get list of all programs installed (as shows up in Add/Remove).
Go through the Blacklist and use WMIC to uninstall those which it can.
Confirm it’s been uninstalled.
Go through the remaining entries vs blacklist and try standard methods (" /uninstall", " /x", its uninstallstring, etc.) to remove.
Use a timeout method to kill hung uninstallers (that may have hidden windows waiting for interaction)
5.5 If a timeout doesn’t happen (yay), confirm it’s been uninstalled.