it-swarm.com.de

Ruft eine Liste der installierten Anwendungen über die Windows-Befehlszeile ab

Ich habe einmal gesehen, wie ein Mann einen Befehl ausgeführt hat und eine Liste aller installierten Anwendungen auf seinem Computer abgerufen hat. Wie mache ich das?

Ich möchte eine Liste meiner aktuell installierten Anwendungen erhalten. Ich glaube, er hat irgendwie WSH benutzt.

33
rana

Wenn Sie Windows Vista oder Windows 7 verwenden und keine zusätzliche Software installieren möchten, können Sie:

  1. Öffnen Sie ein Befehlszeilenfenster (Windows + R, CMD.EXE)
  2. Typ wmic (Enter)
  3. Tippe product get name (Enter)
39
MicTech

PsInfo von Microsoft/Sysinternals kann die gesamte installierte Software auflisten, wenn Sie das Flag - s verwenden starte es. Sie können auch - c verwenden, um es als CSV-Datei auszugeben, die Sie beispielsweise in Excel verwenden können.

C:\> psinfo -s > software.txt
C:\> psinfo -s -c > software.csv
26
djhowell

PowerShell-Skript, um sie aufzulisten:

$loc = Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall

$names = $loc |foreach-object {Get-ItemProperty $_.PsPath}

foreach ($name in $names)
{
Write-Host $name.Displayname
}

Nicht gerade die Befehlszeile, aber zu diesem Zweck verwende ich persönlich das Deinstallationstool von CCleaner . Sie können die Liste der installierten Software in eine Textdatei exportieren:

alt text

14
John T

Auch nicht gerade die Befehlszeile, aber das vertrauenswürdige alte SIW erledigt den Job ebenfalls. Markieren Sie Anwendungen, klicken Sie mit der rechten Maustaste auf> Exportieren nach> CSV, HTML, TXT oder XML

alt text

SIW ist Freeware und portabel, keine Installation erforderlich.

6
Molly7244

Die obige CCleaner-Lösung scheint ein guter Weg zu sein, es sei denn, Sie möchten die Befehlszeile verwenden. Ich habe CCleaner schon einmal verwendet, es ist ein gutes Tool. Aber nehmen Sie nicht an, dass alles im Applet "Software" (dieselbe Liste) registriert ist. Es gibt viele Apps, die eine Installation im xcopy-Stil verwenden, d. H. Einfach dieses Archiv entpacken und ausführen. Diese werden in der Liste nicht angezeigt.

3
JMD

So fügen Sie Peter Mortensens Lösung hinzu: Verwenden Sie wmic und erfassen Sie die Liste der installierten Software in einer Datei:

Öffnen Sie ein Befehlszeilenfenster (Windows + R, CMD.EXE)

wmic /OUTPUT:my_software.txt product get name
3
Moots

Sysinternals psinfo.exe bietet die umfassendsten Informationen zu allen Vorschlägen und kann auf jedem Windows-PC direkt von einer erhöhten CMD-Eingabeaufforderung aus über die Befehlszeile ausgeführt werden, ohne dass ein permanenter Download erforderlich ist:

\\live.sysinternals.com\tools\psinfo.exe -s > %userprofile%\Desktop\_psinfo.txt

Sie erhalten eine Sicherheitsabfrage, wenn Sie dies ausführen, und eine EULA-Abfrage, wenn Sie das erste Mal auf einem Computer arbeiten. Eine Textdatei wird auf dem aktuellen Desktop gespeichert.

EULA kann wie folgt automatisch akzeptiert werden:

\\live.sysinternals.com\tools\psinfo.exe -s /accepteula > %userprofile%\Desktop\_psinfo.txt
2
Matthew Simpson

Es gibt eine tragbare Anwendung namens Showmysoft. Es zeigt die installierte Software auf dem lokalen Computer und den Remotecomputern an und kann nach PDF und nach EXPORTIEREN. CSV . Installation ist nicht erforderlich. Herunterladen von http://spidersoft.in/showmysoft/ .

Die minimale Systemanforderung ist Microsoft . NET Framework 2.0.

0
jacob justin

Die codierte Version in C # installierten Programmen über die Windows-Registrierung:

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)
                            {
                                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
Domenico Zinzi