Quantcast
Channel: PowerShell.com – PowerShell Scripts, Tips, Forums, and Resources
Viewing all articles
Browse latest Browse all 6937

Get few installed apps version number from a list of Computers?

$
0
0

I m still trying to get my script working. What i m trying to do is gathering few installed apps version number from a list of computers and output as below. The format of output must be this way.

.

I have my test script with a pc list working now, but all registry info actually are pulling from my local PC, not from remote PCs. I have tried working with psexe, PSRemoteRegistry module, but did not get any good result. I need some help to get it work with a list of remote PCs please.

 

 

$app32 = Get-ChildItem HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
$app64 = Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
$appAll = $app32 + $app64
$AllComputers = @()
ForEach($CompName in (GC C:\work\000.txt)){
    $Computer = [PSCustomObject]@{"PC Name"=$CompName}

    $appAll | 
    ForEach-Object {Get-ItemProperty $_.pspath} |
    Where-Object {
        $_.Displayname -match 'adobe air' -or 
        $_.Displayname -match 'vbsedit' -or
        $_.Displayname -match 'TNCremo' -or
        $_.Displayname -match '3Dconnexion 3DxSoftware' -or
        $_.Displayname -match '3Dconnexion 3DxWare (x64)' -or
        $_.Displayname -match '7-Zip' -or
        $_.Displayname -match 'Adobe Acrobat' -or
        $_.Displayname -match 'Adobe Flash' -or
        $_.Displayname -match 'Adobe Reader' 
        } |
    Select-Object DisplayName,DisplayVersion |
    Sort-Object DisplayName|
    %{
        Add-Member -InputObject $Computer -NotePropertyName $_.DisplayName -NotePropertyValue $_.DisplayVersion
    }

    $AllComputers+=$Computer
}
#Make sure first computer has properties for all possible software titles
$AllComputers|
    %{
        $_|GM -MemberType Properties|select -expand Name
    }|
    Select -Unique|
    ?{$_ -notin ($AllComputers[0]|gm -MemberType Properties|select -Expand Name)}|
    %{
        Add-Member -InputObject $AllComputers[0] -NotePropertyName $_ -NotePropertyValue ""
    }
#Output to file
$AllComputers|Export-Csv c:\work\000.csv -NoTypeInformation

Viewing all articles
Browse latest Browse all 6937

Trending Articles