This is just a quick reference for anyone trying to quickly pull off a list of installed software from a remote machine. You will need the remote registry service (you can start this remotely from the services console) and WMI service running on the remote machine.
get-wmiobject Win32_Product -computername TestPC01 | Format-Table IdentifyingNumber, Name, LocalPack age -AutoSize
Your script work perfectly. This is what I need.
function Get-InstalledProgram()
{
param (
[String[]]$Computer,
$User
)
#############################################################################################
if ($User -is [String]) {
$Connection = Get-Credential -Credential $User
}
#############################################################################################
foreach ($Comp in $Computer){
if ($Connection -eq $null){
$Install_soft = gwmi win32_product -ComputerName $Comp |
where {$_.vendor -notlike “*Microsoft*” -and`
$_.vendor -notlike “*PGP*” -and $_.vendor -notlike “*Intel*” -and $_.vendor -notlike “*Corel*” -and $_.vendor -notlike “*Adobe*” -and $_.vendor -notlike “*ABBYY*” -and $_.vendor -notlike “*Sun*” -and $_.vendor -ne “SAP” -and $_.vendor -ne “Marvell” -and $_.vendor -ne “Hewlett-Packard”
} |
select __SERVER,Name,Version,InstallDate
$Install_soft
}
else {
$Install_soft = gwmi win32_product -ComputerName $Comp -Credential $Connection |
where {$_.vendor -notlike “*Microsoft*” -and`
$_.vendor -notlike “*PGP*” -and $_.vendor -notlike “*Intel*” -and $_.vendor -notlike “*Corel*” -and $_.vendor -notlike “*Adobe*” -and $_.vendor -notlike “*ABBYY*” -and $_.vendor -notlike “*Sun*” -and $_.vendor -ne “SAP” -and $_.vendor -ne “Marvell” -and $_.vendor -ne “Hewlett-Packard”
} |
select __SERVER,Name,Version,InstallDate
$Install_soft
}
}
#############################################################################################
}