Code-Beispiel

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

 Liste aller Codebeispiele  Definition '.NET Framework Class Library'  PowerShell Community Portal

Buchtipp

Buchcover PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch (5. Auflage Oktober 2022 (9. Auflage Gesamtreihe)) PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
Autor(en): Dr. Holger Schwichtenberg
Erschienen 2022
Umfang: 1426 Seiten
ISBN: 3446472967

Beratung & Support

Schulungen zu diesem Thema

 Microsoft SharePoint-Administration mit der Windows PowerShell
 Microsoft Exchange Server-Administration mit der Windows PowerShell / Microsoft Exchange Management Shell
 HyperV und/oder VMWare verwalten mit der Windows PowerShell
 Testing mit Windows PowerShell
 Netzwerkverwaltung mit der Windows PowerShell
 Verwaltung von Benutzern und Gruppen des „Active Directory“ mit der PowerShell
 Windows Server-Administration mit der Windows PowerShell, insbesondere Active Directory-Administration
 PowerShell-Scripting: Skripte schreiben mit der Windows PowerShell
 Citrix verwalten mit der PowerShell
 Windows PowerShell 5.1/PowerShell 7.0 für Softwareentwickler
 System Center verwalten mit der Windows PowerShell
 .NET und COM nutzen in der Windows PowerShell
 Windows PowerShell 5.0/5.1 für Umsteiger von Version 4.0
 Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren
 Microsoft SQL Server-Administration mit der Windows PowerShell
 Grundlagen der PowerShell-Konsole
 Arbeiten mit PowerShell-Laufwerken
 Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren (4-Tages-Agenda des öffentlichen Seminars)
 Microsoft Azure-Cloud-Dienste verwalten mit der Windows PowerShell
 Remoting, Jobs und Workflows mit der Windows PowerShell
 NetApp verwalten mit der PowerShell
 Windows PowerShell 4.0 für Umsteiger von Version 3.0
 Formatierung und Reporting mit der PowerShell
 Active Directory-Administration mit der Windows PowerShell
 Scripting-Grundlagenwissen
 Microsoft SQL Server 2008 - Die Neuerungen gegenüber SQL Server 2005 (Update-Schulung)
 Active Directory für Administratoren
 .NET-Überblick für .NET-Einsteiger und .NET-Entscheider (wahlweise für das klassische .NET Framework und/oder das moderne .NET)
 Microsoft Teams
 Microsoft SharePoint im Überblick
 Anfrage für eine individuelle Schulung zum Thema PowerShell PowerShell  Gesamter Schulungsthemenkatalog