Dez 072011
 
  • Betrifft: Windows Powershell
  • System: Microsoft Windows XP oder Windows Server 2003 mit installiertem Powershell oder Windows Vista, Windows 7, Server 2008 x64, Windows Server 2008 R2 x64
  • Problem: Wie erhalte ich eine komplette Liste aller Einträge aus „Software“ bzw. „Programme und Funktionen“?

Hintergrund

Windows Powershell ist eine moderne Alternative für die Kommandozeile („cmd“) und beinhaltet viele Vorteile. Erst hier kann man komplexe Skripte erstellen und objektorientiert verarbeiten lassen.

 

Durchführung

Variante 1: Ausgabe direkt in Powershell als Tabelle

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | sort -Property DisplayName | Format-Table DisplayName, Publisher, DisplayVersion

 
Variante 2: Ausgabe in eine Tabelle als CSV-Datei*

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | sort -Property DisplayName | select-object DisplayName, Publisher, DisplayVersion | Export-Csv -path installierte_programme.csv -UseCulture

 
Variante 3: Ausgabe als Liste in eine TXT-Datei*

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | sort -Property DisplayName | format-list DisplayName, Publisher, DisplayVersion | out-File installierte_software.txt

 

* = die jeweilige Datei wird in den aktuellen Pfad geschrieben. Also der zwischen „PS“ und „>“ angegeben wird.

weitere relevante Beiträge...

  3 Antworten zu “Liste der installierten Programme per Powershell auslesen”

Kommentare (3)
  1. Danke. Das war der erste funktionierende und einfache Ansatz den ich nach einer halben Stunde Recherche gefunden habe. Überall wird die wcim Abfrage gepriesen, obwohl Microsoft klar sagt, dass man damit nur installierte MSI Pakete ausgeben kann.

    • Ich muss mich gleich selbst korrigieren: der Ansatz erfasst nur einen Teil der Programme. Selbst wenn ich alle Microsoft Updates herausfiltere, enthält die Liste trotzdem nur ca. die Hälfte der installierten Programme. Spontan kann ich nicht sagen, welche fehlen.
      Der Ansatz die Registry abzufragen ist aber auf jeden Fall richtig.

    • Naja soweit ich bisher verwendet habe hängt es scheinbar davon ab ob Powershell mit 32bit oder 64bit gestartet wurde.

      Damit wären entweder nur alle 32bit oder eben 64bit Programme aufgelistet.

 Antworten

Du kannst diese HTML Tags und Attribute benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(erforderlich)

(erforderlich)