Sie sind hier: Startseite
 Liste aller Codebeispiele

Installierte Anwendungen auflisten

Autor: Dr. Holger Schwichtenberg

Beschreibung

Für die Softwareverwaltung bietet die PowerShell keine eigenen Commandlets. Die WMI-Klasse Win32_Products mit Informationen über die installierten MSI-Pakete steht zur Verfügung, sofern der „WMI-Provider für Windows Installer“ installiert ist. Unter Windows Server 2003 ist dieser Provider eine Installationsoption von Windows und nicht mehr Standardinstallationsumfang.

Get-Wmiobject Win32_Product

Win32_Product listet aber nur Anwendungen auf, die mit Windows Installer installiert wurden. Alle Anwendungen, die man in der Systemsteuerung sieht, bekommt man nur über den Schlüssel
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall der Registrierungsdatenbank heraus.
Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Vereinfachen kann man den Zugang dorthin, indem man ein neues PowerShell-Laufwerk definiert:

New-PSDrive -Name Software -PSProvider Registrierungsdatenbank -Root HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Danach kann man einfach schreiben:

Get-ChildItem Software:

Beim Filtern muss man in jedem Fall beachten, dass die Eigenschaften (z.B. DisplayName, Comments und UninstallString) keine Attribute des Objekts vom Typ Microsoft.Win32.RegistryKey sind, sondern Unterelemente dieses Objekts. Daher muss GetValue() verwendet werden für den Zugriff auf die Daten.

Get-ChildItem Software: | Where-Object -FilterScript { $.GetValue("DisplayName") -like "a*"} | ForEach-Object -Process {$_.GetValue("DisplayName") , $_.GetValue("Comments"), $.GetValue("UninstallString") }

Programmcodebeispiele PowerShell-Skript

Auflisten der installierten Anwendungen aus der Registry, deren Name mit a beginnt


Get-Wmiobject Win32Product | where-object { $.name -like "a*" }

Programmcodebeispiele PowerShell-Skript

Auflisten der installierten Anwendungen aus der Registry, deren Name mit a beginnt


New-PSDrive -Name Software -PSProvider Registrierungsdatenbank -Root HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Get-ChildItem Software: | Where-Object -FilterScript { $.GetValue("DisplayName") -like "a*"} | ForEach-Object -Process {$_.GetValue("DisplayName") , $_.GetValue("Comments"), $.GetValue("UninstallString") }


 

Querverweise

 Definition '.NET Framework Class Library'  PowerShell Community Portal

Buchtipp

Buchcover Windows PowerShell 5.1 und PowerShell Core 6.1 - Das Praxishandbuch (3. Auflage 12/2018) Kindle Windows PowerShell 5.1 und PowerShell Core 6.1 - Das Praxishandbuch (3. Auflage 12/2018) Kindle
Autoren: Dr. Holger Schwichtenberg
erschienen 2018, 1000 Seiten, 42,99 €
ISBN: 978-3-446-45923-6
Bestellung: Amazon.de oder im Buchhandel über ISBN 978-3-446-45923-6

Beratung & Support:

Schulungen zu diesem Thema:

 Anfrage für eine individuelle Schulung zum Thema PowerShell;PowerShell  Gesamter Schulungsthemenkatalog