List software installed

List application built using windows installer

Get-CimInstance Win32_Product | Sort-Object -property Name | Format-Table -Property Version, InstallDate, Name

List application that was installed with PackageManagement

Get-Package |ft -AutoSize

List installed application from registry

# 32 Bit registry
$mt_registry1 = "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"

# 64 Bit registry
$mt_registry2 = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*"             

#user apps registry
$mt_registry3 = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*"  

$mt_installed_Apps1 = Get-ItemProperty $mt_registry1
$mt_installed_Apps2 = Get-ItemProperty $mt_registry2
$mt_installed_Apps3 = Get-ItemProperty $mt_registry3

$mt_installed_Apps_All = $mt_installed_Apps1 + $mt_installed_Apps2 + $mt_installed_Apps3
$mt_installed_Apps_All | select DisplayName, PSChildName, Publisher, DisplayVersion, InstallDate | Sort-Object -Property DisplayName | ft          

List Windows application packages on AllUsers profile (run cmdlets as administrator)

Get-AppxPackage -AllUsers | select Name, PackageFullName | Sort-Object -Property Name

List Windows Feature installed (Windows Server only)

Get-WindowsFeature | ? {$_.installed -eq $true} | ft name, DisplayName, Installed