Doing software installation is a common task for us Integration and Connected Systems folks, especially those who work with tools like BizTalk and the ESB Toolkit. In many cases, it’s necessary to know what’s on your machine to make sure all the necessary prerequisites are there.
My colleague, Randall McClure, inspired by this, pointed me to the following powershell script to get a complete list of all the software installed on a Windows system.
First, create a variable to hold your output format so that it will be nice and pretty:
Windows PowerShell Copyright (C) 2009 Microsoft Corporation. All rights reserved. PS C:\Users\EdJones> $a = @{Expression={$_.Name};Label="Software Name"; >> width=65}, >> @{Expression={$_.InstallDate};Label="Date";width=15}, >> @{Expression={$_.Version};Label="Version";width=15}, >> @{Expression={$_.Vendor};Label="Vendor";width=40} >>
Then, run the following command to retrieve the list:
PS C:\Users\EdJones> Get-WmiObject Win32_Product | Sort-Object InstallDate -Descending | Format-Table $a
The command above retrieves the list and arranges it in descending order by installation date. Nice and pretty. The image below is a sample of what I have: