Mit PowerShell alle installierten Applikationen anzeigen

Erstellt am 8. Juli 2016

Es gibt viele Wege eine Liste aller installierten Applikationen mit Powershell zu erstellen. Keine davon hat mir gefallen. Darum habe ich habe mal folgendes Script erstellt, welches die Uninstall Registry Keys sowohl des x64bit auch des x86 Bereichs ausliest und übersichtlich darstellt.

Zuerst habe ich ein Array erstellt, welches die beiden auszulesenden Keys enthält.

$appsLookUp = @('HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*','HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*')

Danach wird mit einer foreach Schleife das Array abgearbeitet und jeweils mit dem Get-ItemProperty die gewünschten Infos ausgelesen. Selbstverständlich hätte das ganze auch ohne Schleife mit zweimaligem Aufruf von Get-ItemProperty gelöst werden können. Allerdings hätte das keinen Spass gemacht 🙂

Um den Output übersichtlicher zu halten, habe ich mittels Select-Object nur einige Spalten anzeigen lassen. Für mich war wichtig, auf den ersten Blick zu sehen, aus welchem Bereich der jeweilige Eintrag stammt. Daher habe ich eine eigene Spalte „Registry“ erstellt.

@{l="Registry";e={$app}}

Zum Schluss wurden dann noch alle Zeilen mit leerem DisplayName aussortiert.

Where {$_.DisplayName -notlike $null}

Weil sich das Resultat schön filtern und sortieren lässt, habe ich Out-GridView gewählt um das ganze anzuzeigen.
PowerShell - Installierte Applikationen anzeigen
Das ganze Script sieht so aus.

$appsLookUp = @('HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*','HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*')
$i = 1
foreach ($app in $appsLookUp)
{
 switch ($i)
 {
   1 {$myApps = Get-ItemProperty $app | Select-Object @{l="Registry";e={$app}}, DisplayName, DisplayVersion, Publisher, InstallDate | Where {$_.DisplayName -notlike $null} }
   2 {$myApps2 = Get-ItemProperty $app | Select-Object @{l="Registry";e={$app}}, DisplayName, DisplayVersion, Publisher, InstallDate | Where {$_.DisplayName -notlike $null} }
 }
 $i++
 $myApps2 = $myApps2 + $myApps
}
$myApps2 | Out-GridView -Title 'Installed applications on client'

Das Script wurde mit Powershell 5.0 als auch mit Version 2.0 getestet.

Erstellt am 8. Juli 2016

Vielleicht auch interessant…

MSIX – Was heisst das für mein Team? (Teil 2)

MSIX – Was heisst das für mein Team? (Teil 2)

Herzlich willkommen zur MSIX-Blogserie, in der ich für unsere Leserinnen und Leser eine Übersicht über MSIX, bekannterweise das neu lancierte Installationsformat von Microsoft, bereitstelle. Der erste Teil der Serie ist hier nachzulesen, ich wünsche viel Vergnügen....

mehr lesen

This Area is Widget-Ready

You can place here any widget you want!

You can also display any layout saved in Divi Library.

Let’s try with contact form: