2012-07-10 19:45:02 +0000 2012-07-10 19:45:02 +0000
31
31

Alle installierte Software auf dem PC auflisten

Gibt es irgendetwas, das in Windows eingebaut ist, mit dem ich die gesamte installierte Software auf einem Computer so auflisten kann, dass sie in eine Tabellenkalkulation kopiert/eingefügt werden kann? Ich weiß, dass es Software gibt, die das kann, aber ich kann nichts installieren. Ich würde es vorziehen, wenn möglich, keine Batch-Datei zu verwenden, aber ich kann mir vorstellen, dass das die einzige Möglichkeit ist. Idealerweise würde ich die gleichen Informationen ausgeben können, wie sie in der (nicht erweiterten) Ansicht des Formulars “Programme hinzufügen/entfernen” angezeigt werden.

Antworten (8)

41
41
41
2012-07-10 19:58:16 +0000

Starten Sie Ihre Konsole und geben Sie ein:

wmic product get name,version

Es dauert eine Weile, aber Sie erhalten die vollständige Liste der installierten Programme. WMIC ist die Konsolenversion der Windows Management Instrumentation, die ab Windows 2000 verfügbar ist. Wenn Sie den Anweisungen hier und hier folgen, können Sie WMIC anweisen, in einem XML-Format auszugeben, was für Sie vielleicht etwas bequemer ist. Allerdings erhalten Sie durch den Aufruf von wmic product get name eine Liste von Anwendungsnamen, die Sie einfach per Copy-Paste in einen Texteditor kopieren und in ein Tabellenkalkulationsformat konvertieren können.

Alternativ können Sie auch eingeben:

wmic /output:C:\InstallList.txt product get name,version

Dies wird eine TXT-Datei mit der Liste der Programme ausgeben. Sie können diese dann in eine Tabellenkalkulation einfügen, wenn Sie möchten.

Quelle: http://helpdeskgeek.com/how-to/generate-a-list-of-installed-programs-in-windows/


Sie können auch die Datei csv.xsl verwenden, um die Ausgabe in eine CSV-Liste der Ergebnisse zu formatieren:

wmic /output:C:\InstallList.csv product get /format:csv.xsl

oder die Datei htable.xsl, um eine HTML-Tabelle der Ergebnisse zu erstellen:

wmic /output:C:\InstallList.htm product get /format:hform.xsl
8
8
8
2012-07-10 19:54:54 +0000

Führen Sie wmic product get aus, um eine Liste der installierten Software zu erhalten, es sollte exakt die gleiche Liste sein wie bei “Programme hinzufügen/entfernen”.

Sie können es angeblich dazu bringen, in einem bestimmten Format auszugeben, aber ich habe es nicht ausprobiert.

(Verwenden Sie wmic product get /?, um die Parameter einschließlich der Ausgabeformatierung zu sehen; ich habe versucht, sie hier einzufügen, aber die Formatierung war nicht ganz richtig).

5
5
5
2012-07-10 20:13:18 +0000

Wie bereits von anderen erwähnt, können Sie diese Informationen mit einer WMI-Abfrage für Win32_Product-Objekte erhalten. PowerShell gibt sie sogar in eine CSV-Datei aus, wenn Sie dies wünschen.

Get-WmiObject -Class "Win32_Product" | Export-CSV (Join-Path $home "Win32_Product.csv")

Sie sollten jedoch nach Win32_Product-Problemen suchen . Es ist nicht alles Gummi und Lollipop.

4
4
4
2014-10-09 19:14:03 +0000

WMIC wird auf einem Server nicht funktionieren, es sei denn, Sie haben explizit im Menü Management and Monitoring Tools installiert.

Eine andere Lösung ist es, in die Registry zu gehen und alle nicht installierbaren Programme anzusehen, indem Sie zu gehen:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Sie müssen auf jedes einzelne klicken, um den Wert zu sehen, also können Sie stattdessen mit der rechten Maustaste auf den Ordner Add/Remove Windows Components klicken und Exportieren wählen. Stellen Sie sicher, dass der Exportbereich so eingestellt ist, dass er nur den Ausgewählten Zweig enthält:

^(?!"DisplayName").+

Dann können Sie die Uninstall-Datei in Notepad++ öffnen, aber Sie werden eine Menge zusätzlicher Informationen zu jeder Anwendung erhalten:

Sie können alle Zeilen loswerden, die nicht mit .reg beginnen, indem Sie gegen den folgenden Regex abgleichen:

("DisplayName"="|")

Dann können Sie entweder die Zeichenfolge "DisplayName" oder "DisplayName" entfernen, indem Sie auf den folgenden Regex abgleichen:

^(.*)(\r?\n)+$

Dann können Sie alle doppelten Zeilen entfernen, indem Sie auf den folgenden Regex passen:

Oder Sie können einfach Zeilen alphabetisch sortieren und dann die leeren Zeilen löschen

3
3
3
2013-07-11 10:53:37 +0000

Der einfachste Weg, den ich gefunden habe, ist, den ccleaner von Piriform auszuführen.
Dieser hat eine Schaltfläche bei Tools -> Uninstall -> “save to text file”.

0
0
0
2017-03-05 15:59:46 +0000

Zwei weitere, bisher nicht erwähnte Nicht-Befehlszeilen-Lösungen sind:

  1. MyUninstaller - ein Freeware-Programm von NirSoft, das neben der Deinstallation auch eine umfassende Liste aller installierten Software nach HTML exportieren kann, die eine Menge zusätzlicher Informationen enthält. Es hat den Vorteil, dass es portabel ist. Es ist zwar nicht “eingebaut”, aber Sie können es von einem USB-Laufwerk aus starten. Sie können es hier finden.

  2. Belarc Advisor - ein Freeware-Programm (für den persönlichen Gebrauch), das eine Sicherheitsanalyse und eine umfassende Bestandsaufnahme der Hardware und Software Ihres Computers durchführt. Es ist verfügbar hier . Leider müssen Sie es installieren, so dass es die Bedürfnisse des OPs nicht vollständig erfüllt, aber vielleicht die Bedürfnisse anderer erfüllt, die die gleiche Frage haben und in der Lage sind, es zu installieren.

0
0
0
2017-07-12 14:57:08 +0000

Die verschlüsselte Version in c# installierter Programme über die Registry

using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace SoftwareInventory
{
    class Program
    {
        static void Main(string[] args)
        {
            //!!!!! Must be launched with a domain administrator user!!!!!
            Console.ForegroundColor = ConsoleColor.Green;
            StringBuilder sbOutFile = new StringBuilder();
            Console.WriteLine("DisplayName;IdentifyingNumber");
            sbOutFile.AppendLine("Machine;DisplayName;Version");

            //Retrieve machine name from the file :File_In/collectionMachines.txt
            //string[] lines = new string[] { "NameMachine" };
            string[] lines = File.ReadAllLines(@"File_In/collectionMachines.txt");
            foreach (var machine in lines)
            {
                //Retrieve the list of installed programs for each extrapolated machine name
                var registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
                using (Microsoft.Win32.RegistryKey key = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, machine).OpenSubKey(registry_key))
                {
                    foreach (string subkey_name in key.GetSubKeyNames())
                    {
                        using (RegistryKey subkey = key.OpenSubKey(subkey_name))
                        {
                            //Console.WriteLine(subkey.GetValue("DisplayName"));
                            //Console.WriteLine(subkey.GetValue("IdentifyingNumber"));
                            if (subkey.GetValue("DisplayName") != null && subkey.GetValue("DisplayName").ToString().Contains("Visual Studio"))
                            {
                                Console.WriteLine(string.Format("{0};{1};{2}", machine, subkey.GetValue("DisplayName"), subkey.GetValue("Version")));
                                sbOutFile.AppendLine(string.Format("{0};{1};{2}", machine, subkey.GetValue("DisplayName"), subkey.GetValue("Version")));
                            }
                        }
                    }
                }
            }
            //CSV file creation
            var fileOutName = string.Format(@"File_Out\{0}_{1}.csv", "Software_Inventory", DateTime.Now.ToString("yyyy_MM_dd_HH_mmssfff"));
            using (var file = new System.IO.StreamWriter(fileOutName))
            {

                file.WriteLine(sbOutFile.ToString());
            }
            //Press enter to continue 
            Console.WriteLine("Press enter to continue !");
            Console.ReadLine();
        }

    }
}
0
0
0
2016-08-14 20:52:43 +0000

Unter Windows 7 können Sie ein PowerShell-Skript verwenden:

Öffnen Sie PowerShell, indem Sie auf die Schaltfläche Start klicken und powershell in das Suchfeld eingeben.

Geben Sie dann den folgenden Befehl in das PowerShell-Fenster ein:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize

Sie können jedes der Felder entfernen: DisplayName, DisplayVersion, usw., wenn Sie sie nicht benötigen.

Wenn Sie die Ausgabe in einer Datei speichern möchten, verwenden Sie die Umleitung:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize > C:\temp\AllInstalledPrograms.txt