Functions/Get-InstalledPrograms.ps1
|
function Get-InstalledPrograms { [CmdletBinding()] param ( [Parameter()] [string] $SearchString ) $Installed1 = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* $Installed2 = Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* $Installed3 = Get-ItemProperty HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* $Installed = $Installed1 + $Installed2 + $Installed3 $Installed = $Installed | Where-Object DisplayName if ($SearchString) { $return = $Installed | Where-Object { ($_.DisplayName -Like "*$($SearchString)*") -or ($_.Publisher -Like "*$($SearchString)*") } } else { $return = $Installed } $return = $return | Select-Object PSChildName, DisplayName, DisplayVersion, Publisher, InstallDate, UninstallString $return = $return | Sort-Object DisplayName return $return } |