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

Elenca tutti i software installati sul PC

Advertisement

C'è qualcosa incorporato in Windows che mi permetta di elencare tutto il software installato su un computer in modo da poterlo copiare/incollare in un foglio di calcolo? So che c'è un software che può farlo, ma non posso installare nulla. Preferirei non usare un file batch se possibile, ma immagino che sia l'unico modo. Idealmente, vorrei essere in grado di produrre le stesse informazioni che sono mostrate nella vista (non espansa) del modulo Aggiungi/Rimuovi programmi.

Advertisement
Advertisement

Risposte (8)

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

Accendi la tua console e digita:

wmic product get name,version

Ci vuole un po’, ma otterrete la lista completa dei programmi installati. WMIC è la versione console di Windows Management Instrumentation, disponibile da Windows 2000 in poi. Seguendo le istruzioni qui e qui , puoi dire a WMIC di produrre l'output in un formato XML, che potrebbe essere un po’ più conveniente per te. Comunque basta chiamare wmic product get name per ottenere un elenco di nomi di applicazioni, che puoi facilmente copiare e incollare in un editor di testo e convertire in formato foglio di calcolo.

In alternativa, inserire:

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

Questo produrrà un file TXT con la lista dei programmi. Potete poi incollarlo in un foglio di calcolo, se volete.

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


Anche tu puoi usare il file csv.xsl per formattare l'output in una lista CSV di risultati:

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

o il file htable.xsl per creare una tabella HTML dei risultati:

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

Esegui wmic product get per ottenere una lista del software installato, dovrebbe essere esattamente la stessa lista di add/remove programs.

Si può presumibilmente ottenere un output in un formato specifico, ma non ho provato.

(Usate wmic product get /? per vedere i parametri, inclusa la formattazione dell'output, ho cercato di includerla qui ma la formattazione non era corretta).

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

Come altri hanno menzionato, puoi ottenere queste informazioni con una query WMI per gli oggetti Win32_Product. PowerShell farà anche il dump in un file CSV per te, se vuoi.

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

Tuttavia, dovresti cercare gli oggetti Win32\Product . Non è tutto rose e fiori.

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

WMIC non funzionerà su un Server a meno che tu non abbia esplicitamente installato Management and Monitoring Tools nel menu Add/Remove Windows Components .

Un'altra soluzione è andare nel Registro di sistema e guardare tutti i programmi disinstallabili andando su:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Dovrai cliccare su ognuno singolarmente per vedere il valore, quindi invece, puoi cliccare col tasto destro sulla cartella Uninstall e selezionare Export. Assicurati che l’Export Range sia impostato per includere solo il Ramo selezionato:

^(?!"DisplayName").+

Poi puoi aprire il file .reg in notepad++, ma otterrai molte informazioni extra su ogni applicazione:

Puoi sbarazzarti di tutte le linee che non iniziano con "DisplayName" facendo corrispondere la seguente regex :

("DisplayName"="|")

Poi puoi rimuovere entrambe le stringhe "DisplayName" o " facendo corrispondere la seguente regex :

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

Poi puoi rimuovere tutte le linee duplicate facendo corrispondere la seguente regex :

Oppure puoi semplicemente ordinare le righe in ordine alfabetico e poi cancellare quelle vuote

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

Il modo più semplice che ho trovato è eseguire ccleaner di piriform.
Questo ha un pulsante in Strumenti -> Disinstalla -> “salva in un file di testo”

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

Altre due soluzioni non a linea di comando non menzionate in precedenza sono:

  1. MyUninstaller - un programma freeware di NirSoft che, oltre a disinstallare, può anche esportare in HTML una lista completa di tutto il software installato che include molte informazioni aggiuntive. Ha il vantaggio di essere portatile. Anche se non è “built-in”, è possibile eseguirlo da un drive USB. Puoi trovarlo qui .

  2. Belarc Advisor - un programma freeware (per uso personale) che fa analisi di sicurezza e un inventario completo dell'hardware e del software del tuo computer. È disponibile qui . Sfortunatamente, è necessario installarlo, quindi non soddisfa pienamente le esigenze del PO, ma può soddisfare le esigenze di altri che hanno la stessa domanda e sono in grado di installare.

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

La versione codificata nei programmi installati in c# tramite il registro

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

Su Windows 7 puoi usare uno script PowerShell:

Aprire PowerShell facendo clic sul pulsante Start e digitando powershell nel campo di ricerca.

Poi inserisci il seguente comando nella finestra di PowerShell:

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

Puoi rimuovere qualsiasi campo: DisplayName, DisplayVersion, ecc. se non ti servono.

Se vuoi salvare l'output in un file, usa il reindirizzamento:

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

Domande correlate

3
19
10
28
3
Advertisement