Eine Liste installierter Programme erstellen klingt nach einer Kleinigkeit, wird aber vor einer Neuinstallation, einem PC-Wechsel oder einer Lizenzprüfung schnell zur Pflichtaufgabe. Die Einstellungen von Windows 11 zeigen zwar alle Apps an, bieten aber keinen Export. Screenshots sind unhandlich und können nicht durchsucht werden.
Dieser Artikel ersetzt meine alte Anleitung von 2020, die nur unter Windows 10 und nur mit einem einzigen Befehl arbeitete. Dieser Befehl hatte eine Lücke: Er las ausschließlich den Registry-Zweig für 32-Bit-Programme aus.
Auf einem 64-Bit-System fehlen dadurch genau die Programme, die man am ehesten sucht. Sie finden hier die korrigierte Variante, dazu winget, Store-Apps und einen Trick, um zwei Listen miteinander zu vergleichen. Stand: September 2026.
Liste installierter Programme erstellen: 6 Wege im Überblick
Windows 11 bietet sechs Wege zur Programmliste. Nur die Einstellungen exportieren nichts, alle anderen schreiben eine Datei, die Sie durchsuchen, archivieren oder ausdrucken können.
| Methode | Ausgabe | Store-Apps | Für Neuinstallation | Aufwand |
|---|---|---|---|---|
| Einstellungen und Systemsteuerung | nur Ansicht | Einstellungen ja | nein | gering |
| PowerShell (Registry) | TXT, CSV | nein | als Merkliste | mittel |
| winget list und export | TXT, JSON | ja, in der Liste | ja, per winget import | mittel |
| Get-AppxPackage | TXT, CSV | nur Store-Apps | nein | gering |
| Komplettskript | CSV | ja | als Merkliste | mittel |
| Zusatztools | HTML, TXT, CSV | je nach Tool | nein | gering |
Einstellungen und Systemsteuerung als schneller Überblick
Unter Windows 11 finden Sie alle installierten Apps über Einstellungen → Apps → Installierte Apps. Die Liste lässt sich nach Name, Installationsdatum oder Größe sortieren, ein Export fehlt allerdings.
Die klassische Ansicht öffnen Sie mit Windows + R und dem Befehl appwiz.cpl. Dort stehen Name, Herausgeber, Installationsdatum, Größe und Version nebeneinander.
Store-Apps fehlen in dieser Ansicht, dafür sortiert sie klassische Desktop-Software übersichtlicher als die neuen Einstellungen. Für eine schnelle Momentaufnahme genügt ein Screenshot mit Windows + Shift + S, mehr nicht.

PowerShell: Liste installierter Programme erstellen und als TXT speichern
PowerShell liest die Programmeinträge direkt aus der Registry und schreibt sie in eine Textdatei. Für das Auslesen brauchen Sie keine Administratorrechte; ein normales Terminal genügt.
Windows speichert installierte Programme an drei Stellen. Die erste Zeile im Skript deckt 64-Bit-Programme ab, die zweite 32-Bit-Programme (der Ordner WOW6432Node), die dritte Programme, die nur für Ihr Benutzerkonto installiert wurden. Meine alte Anleitung kannte nur die zweite.
$ziel = [Environment]::GetFolderPath('Desktop'); $pfade = @( 'HKLM:SOFTWAREMicrosoftWindowsCurrentVersionUninstall*', 'HKLM:SOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionUninstall*', 'HKCU:SOFTWAREMicrosoftWindowsCurrentVersionUninstall*' ); Get-ItemProperty $pfade -ErrorAction SilentlyContinue | Where-Object { $_.DisplayName } | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Sort-Object DisplayName | Format-Table -AutoSize | Out-File "$zielProgrammliste.txt" -Width 250
Die Datei Programmliste.txt liegt danach auf Ihrem Desktop. Die Variable $ziel fragt den echten Desktop-Pfad ab. Das ist wichtiger, als es klingt: Wenn OneDrive Ihren Desktop umleitet, landet ein fest eingetippter Pfad wie C:UsersNameDesktop im Nichts oder wirft einen Fehler.
Der Parameter -Width 250 verhindert, dass PowerShell lange Programmnamen beim Schreiben in die Datei mit drei Punkten abschneidet. Genau das passiert bei der einfachen Umleitung mit dem Größer-als-Zeichen, die ich früher gezeigt habe. Übrigens: Ein Zielordner wie d:liste muss vorher existieren, sonst bricht der Befehl ab.

Liste installierter Programme erstellen als CSV für Excel
Eine CSV-Datei lässt sich in Excel sortieren und filtern, was bei mehreren hundert Einträgen deutlich angenehmer ist als eine Textdatei. Hängen Sie an die Auswahl statt der Formatierung einfach Export-Csv an.
$ziel = [Environment]::GetFolderPath('Desktop'); $pfade = @( 'HKLM:SOFTWAREMicrosoftWindowsCurrentVersionUninstall*', 'HKLM:SOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionUninstall*', 'HKCU:SOFTWAREMicrosoftWindowsCurrentVersionUninstall*' ); Get-ItemProperty $pfade -ErrorAction SilentlyContinue | Where-Object { $_.DisplayName } | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Sort-Object DisplayName -Unique | Export-Csv "$zielProgrammliste.csv" -NoTypeInformation -Delimiter ';' -Encoding UTF8
Zwei Details entscheiden darüber, ob die Datei in Excel sauber aussieht. Deutsches Excel erwartet als Trennzeichen das Semikolon; mit dem Standard-Komma landet sonst alles in Spalte A. Und -Encoding UTF8 sorgt dafür, dass Umlaute in Herstellernamen richtig ankommen. Unter PowerShell 7 heißt der passende Wert utf8BOM, das klassische Windows PowerShell in Windows 11 nimmt UTF8.
Die Spalte InstallDate enthält das Datum als Zahl im Format JJJJMMTT, also 20260914 für den 14. September 2026.
Nicht jedes Programm füllt sie aus; leere Felder sind normal. Wegen -Unique erscheint jeder Programmname nur einmal, zwei installierte Versionen desselben Programms werden dadurch zusammengefasst.

Warum fehlen trotzdem Programme in der Liste?
Die Registry-Methode findet nur Programme, die sich bei der Installation dort eintragen. Vier Gruppen fallen durch das Raster:
- Portable Programme ohne Installer, etwa entpackte Tools auf einem USB-Stick, tragen sich nirgends ein.
- Store-Apps verwalten sich getrennt, dafür gibt es weiter unten Get-AppxPackage.
- Systemkomponenten wie Laufzeitbibliotheken sind teilweise bewusst ausgeblendet.
- Programme anderer Benutzerkonten stehen im HKCU-Zweig des jeweiligen Kontos; Sie sehen nur Ihr eigenes.
Lizenzschlüssel stehen ebenfalls nicht in der Liste. Wie Sie die Produktschlüssel installierter Programme auslesen, ist ein eigenes Thema und lohnt sich vor jeder Neuinstallation.
Mit winget exportieren und auf dem neuen PC automatisch installieren
Der Paketmanager winget ist in Windows 11 vorinstalliert und kann die Programmliste nicht nur anzeigen, sondern als JSON-Datei exportieren und später wieder einspielen. Laut Wikipedia liegt die aktuelle stabile Version bei 1.28 (Stand April 2026).
$ziel = [Environment]::GetFolderPath('Desktop'); winget list; winget export -o "$zielwinget-programme.json" --include-versions
Der erste Befehl zeigt alle erkannten Programme samt ID, Version und Quelle an, darunter auch Store-Apps. Der zweite schreibt die Auswahl in eine JSON-Datei. Auf dem neuen Rechner oder nach der Neuinstallation spielen Sie sie mit einem einzigen Befehl ein:
winget import -i "$zielwinget-programme.json" --ignore-unavailable
Ein Haken gehört dazu: Laut Microsoft Learn zu winget export gleicht winget jedes Programm mit den Paketquellen ab. Findet es keine Entsprechung, gibt es eine Warnung aus, und dieses Programm fehlt in der JSON-Datei.
Solche Programme installieren Sie nach dem Import von Hand. Deshalb lohnt sich zusätzlich die PowerShell-Liste als vollständige Merkliste.
Wer nur eine lesbare Textdatei möchte, leitet winget list mit | Out-File "$zielwinget-liste.txt" -Encoding utf8 um. Setzen Sie davor [Console]::OutputEncoding = [System.Text.Encoding]::UTF8, damit Umlaute nicht als Zeichensalat enden. Am Dateianfang können Zeichen des Fortschrittsbalkens stehen; diese Zeilen löschen Sie einfach.
Mit winget lassen sich außerdem alle Programme auf einmal aktualisieren, das habe ich in einer eigenen Anleitung erklärt: alle Apps und Programme auf einmal aktualisieren.
Store-Apps mit Get-AppxPackage auflisten
Get-AppxPackage listet ausschließlich Apps aus dem Microsoft Store und die vorinstallierten Windows-Apps. Klassische Desktop-Programme erscheinen dort nicht; wer nur diesen Befehl ausführt, bekommt bei einem PC ohne Store-Apps eine leere Datei.
$ziel = [Environment]::GetFolderPath('Desktop'); Get-AppxPackage | Where-Object { -not $_.IsFramework -and $_.SignatureKind -ne 'System' } | Select-Object Name, Version, Publisher | Sort-Object Name | Out-File "$zielStore-Apps.txt" -Width 250
Der Filter blendet Framework-Pakete und Systemkomponenten aus, sonst wird die Liste unnötig lang. Mit dem Zusatz -AllUsers erfassen Sie die Apps aller Benutzerkonten, das verlangt ein Terminal mit Administratorrechten.

Komplettskript: Programme und Store-Apps in einem Durchlauf
Wer beides regelmäßig braucht, fasst die Abfragen in einer Datei zusammen. Speichern Sie den folgenden Text als Programmliste.ps1 und starten Sie ihn per Rechtsklick mit „Mit PowerShell ausführen“.
$ziel = [Environment]::GetFolderPath('Desktop'); $datum = Get-Date -Format 'yyyy-MM-dd'; $pfade = @( 'HKLM:SOFTWAREMicrosoftWindowsCurrentVersionUninstall*', 'HKLM:SOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionUninstall*', 'HKCU:SOFTWAREMicrosoftWindowsCurrentVersionUninstall*' ); $desktop = Get-ItemProperty $pfade -ErrorAction SilentlyContinue | Where-Object { $_.DisplayName } | Select-Object @{n='Name';e={$_.DisplayName}}, @{n='Version';e={$_.DisplayVersion}}, @{n='Herausgeber';e={$_.Publisher}}, @{n='Art';e={'Desktop'}}; $store = Get-AppxPackage | Where-Object { -not $_.IsFramework -and $_.SignatureKind -ne 'System' } | Select-Object Name, Version, @{n='Herausgeber';e={$_.Publisher}}, @{n='Art';e={'Store-App'}}; $desktop + $store | Sort-Object Name -Unique | Export-Csv "$zielProgrammliste-$datum.csv" -NoTypeInformation -Delimiter ';' -Encoding UTF8
Das Datum im Dateinamen ist der eigentliche Kniff. So entsteht bei jedem Lauf eine neue Datei, und Sie behalten frühere Stände.
Zwei Programmlisten vergleichen und Änderungen finden
Mit zwei datierten Listen sehen Sie in Sekunden, was sich zwischen zwei Zeitpunkten geändert hat, zum Beispiel vor und nach einem Windows-Update oder nach dem Besuch eines Technikers. PowerShell erledigt das mit Compare-Object.
$ziel = [Environment]::GetFolderPath('Desktop'); $alt = (Import-Csv "$zielProgrammliste-2026-09-01.csv" -Delimiter ';').Name; $neu = (Import-Csv "$zielProgrammliste-2026-09-26.csv" -Delimiter ';').Name; Compare-Object $alt $neu
In der Spalte SideIndicator steht <= für Programme, die nur in der alten Liste vorkommen (inzwischen entfernt), und => für Programme, die nur in der neuen Liste stehen (neu dazugekommen). Passen Sie die beiden Dateinamen an Ihre Ablage an.
Ein Beispiel aus dem Alltag: Läuft der PC nach einem Update plötzlich langsam, zeigt der Vergleich sofort, ob unbemerkt Zusatzsoftware mitinstalliert wurde.
Wer aufräumen will, findet in meinen Anleitungen zum Programme deinstallieren unter Windows 11 und zum Windows 11 aufräumen die passenden Schritte.
WMIC ist weg: Warum ältere Anleitungen ins Leere laufen
Microsoft hat das Kommandozeilenprogramm WMIC im August 2026 aus Windows 11 24H2 und 25H2 entfernt und bietet es auch nicht mehr als Feature on Demand an. Der Befehl wmic product get name, der in vielen älteren Anleitungen als Schnelllösung steht, liefert deshalb keine Liste mehr.
Betroffen ist laut Microsoft Learn zu WMIC nur das Programm selbst. Die Verwaltungsschnittstelle WMI bleibt unterstützt. Als Ersatz nennt Microsoft die CIM-Cmdlets von PowerShell, etwa Get-CimInstance.
Für Programmlisten empfehle ich den CIM-Ersatz allerdings nicht. Die zugehörige Klasse Win32_Product listet nur MSI-Installationen, löst bei jeder Abfrage eine Konsistenzprüfung der Pakete aus und ist entsprechend langsam.
Die Registry-Methode von oben ist schneller und vollständiger. Scripte, die noch wmic aufrufen, sollten Sie darauf umstellen.
Auf Windows 10 sieht die Lage anders aus; dort gibt es WMIC weiterhin. Trotzdem lohnt sich der Wechsel, weil die PowerShell-Skripte auf beiden Systemen laufen.
Kostenlose Tools für die Programmliste
Wer keine Befehle eintippen möchte, kann Zusatzprogramme nutzen. CCleaner exportiert die Liste als Textdatei, NirSoft InstalledAppView speichert sie wahlweise als HTML, CSV oder XML, und Belarc Advisor erstellt einen umfangreichen Inventarbericht im Browser.
Laden Sie Tools ausschließlich von der Herstellerseite und achten Sie bei der Installation auf mitgelieferte Zusatzangebote. Ich bleibe bei PowerShell, weil dafür nichts installiert werden muss und die Ausgabe genau das enthält, was ich brauche.
Fazit
Für den Alltag genügt das Komplettskript mit CSV-Ausgabe, für einen geplanten Umzug ergänzen Sie den winget-Export. Wer eine Liste installierter Programme erstellen will, sollte sie zusammen mit der Datensicherung ablegen und nicht nur auf dem System-Laufwerk, das im Ernstfall ausfällt.
Die Liste ist eine Gedächtnisstütze und kein Backup. Wie Sie tatsächlich ein vollständiges Abbild anlegen, zeigt die Anleitung Windows 11 Backup einrichten auf windowsbackup.de. Legen Sie die erste Liste noch heute an, solange der PC läuft.
Häufig gestellte Fragen
Wie speichere ich eine Liste aller installierten Programme in Windows 11 als Textdatei?
Öffnen Sie PowerShell, lesen Sie die drei Uninstall-Pfade der Registry mit Get-ItemProperty aus und leiten Sie das Ergebnis mit Format-Table und Out-File in eine TXT-Datei um. Mit dem Parameter -Width 250 werden lange Namen nicht abgeschnitten.
Warum fehlen in meiner PowerShell-Liste Programme?
Der alte Befehl mit nur dem Pfad WOW6432Node zeigt ausschließlich 32-Bit-Programme. Portable Programme tragen sich gar nicht in die Registry ein, und Store-Apps erscheinen nur über Get-AppxPackage oder winget list.
Kann ich mit der Liste alle Programme automatisch neu installieren?
Ja, mit winget. Der Befehl winget export erzeugt eine JSON-Datei, winget import installiert die enthaltenen Programme auf dem neuen System. Programme ohne passendes winget-Paket müssen Sie von Hand nachinstallieren.
Funktioniert der Befehl wmic product get name noch unter Windows 11?
Nein. Microsoft hat WMIC im August 2026 aus Windows 11 24H2 und 25H2 entfernt, auch als Feature on Demand ist es nicht mehr verfügbar. Nutzen Sie stattdessen die Registry-Abfrage per PowerShell.
Das Wichtigste in aller Kürze
- Die vollständigste Programmliste entsteht in PowerShell, wenn Sie die drei Registry-Pfade für 64-Bit-Programme, 32-Bit-Programme (WOW6432Node) und Benutzerprogramme (HKCU) abfragen.
- Mit winget export erzeugen Sie eine JSON-Datei, die winget import auf einem neuen PC automatisch einspielt.
- Get-AppxPackage listet nur Store-Apps und vorinstallierte Windows-Apps, klassische Desktop-Programme fehlen dort.
- WMIC ist seit August 2026 aus Windows 11 24H2 und 25H2 entfernt, ältere Anleitungen mit wmic product funktionieren nicht mehr.
Zuletzt aktualisiert: September 2026 | Getestet auf: Windows 11 25H2, September 2026 | Autor: Vangelis | 25+ Jahre IT-Erfahrung | Gründer von windowspower.de seit 2013
Newsletter abonnieren
Neue Artikel und Tipps direkt in dein Postfach. Kostenlos und jederzeit abbestellbar.
Frage zu diesem Artikel oder Lust auf Austausch?
Kommentare gibt es hier nicht mehr, dafür aber unser Forum: eine kleine Community, in der man sich wirklich hilft. Auch Anfängerfragen sind willkommen.
Zum Forum

