Listar todos os softwares instalados no PC

29

Existe alguma coisa embutida no Windows que me permita listar todos os softwares instalados em um computador de uma maneira que possa ser copiada / colada em uma planilha? Eu sei que existe um software que pode fazer isso, mas não consigo instalar nada. Eu preferiria não usar um arquivo de lote, se possível, mas imagino que esse seja o único caminho. Idealmente, eu seria capaz de produzir as mesmas informações mostradas na visão (não expandida) do Formulário Adicionar / Remover Programas.

    
por Joel B 10.07.2012 / 21:45

8 respostas

40

Ligue seu console e digite:

wmic product get name,version

Demora um pouco, mas você obterá a lista completa de programas instalados. WMIC é a versão de console do Windows Management Instrumentation, disponível no Windows 2000 e versões posteriores. Seguindo as instruções aqui e aqui , você pode dizer ao WMIC para exportar em um formato XML, que pode ser um pouco mais conveniente para você. No entanto, apenas chamando wmic product get name você obterá uma lista de nomes de aplicativos, que você pode facilmente copiar e colar em um editor de texto e convertê-lo em formato de planilha.

Como alternativa, insira:

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

Isto produzirá um arquivo TXT com a lista de programas. Você pode colar isso em uma planilha, se quiser.

Fonte: link

Você também pode usar o arquivo csv.xsl para formatar a saída em uma lista de resultados CSV:

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

ou o arquivo htable.xsl para criar uma tabela HTML de resultados:

wmic /output:C:\InstallList.htm product get /format:hform.xsl
    
por 10.07.2012 / 21:58
8

Execute wmic product get para obter uma lista do software instalado, ele deve ser exatamente na mesma lista que os programas para adicionar / remover.

Você pode supostamente obtê-lo para a saída em um formato específico, mas eu não tentei.

(Use wmic product get /? para ver os parâmetros incluindo a formatação de saída, tentei incluí-la aqui, mas a formatação não estava correta.)

    
por 10.07.2012 / 21:54
5

Como outros já mencionaram, você pode obter essa informação com uma consulta WMI para objetos Win32_Product. O PowerShell irá até mesmo despejá-lo em um arquivo CSV para você, se quiser.

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

No entanto, você deve pesquisar por problemas do Win32_Product . Não são todos os gumdrops e pirulitos.

    
por 10.07.2012 / 22:13
4

O WMIC não funcionará em um servidor, a menos que você tenha explicitamente instalado Management and Monitoring Tools no menu Add/Remove Windows Components .

Outra solução é ir ao Registro e olhe todos os Programas Desinstaláveis , indo para:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Você terá que clicar em cada um deles individualmente para ver o valor. Em vez disso, clique com o botão direito do mouse na pasta Uninstall e selecione Exportar . Certifique-se de que o intervalo de exportação esteja definido para incluir apenas o Branch selecionado :

Depois,vocêpodeabriroarquivo.regnonotepad++,masobterámuitasinformaçõesextrasemcadaaplicativo:

Vocêpodeselivrardetodasaslinhasque não começam com "DisplayName" correspondendo a a seguinte regex :

^(?!"DisplayName").+

Depois, você pode remover a sequência de caracteres "DisplayName" ou " ao corresponder em o seguinte regex :

("DisplayName"="|")

Depois, você pode remover quaisquer linhas duplicadas fazendo a correspondência em o seguinte regex :

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

Ou você pode apenas classificar as linhas em ordem alfabética e excluir as em branco

    
por 09.10.2014 / 21:14
3

A maneira mais fácil que encontrei é executar o ccleaner do piriforme.
Isto tem um botão em Ferramentas - > Desinstalar - > "salvar no arquivo de texto"

    
por 11.07.2013 / 12:53
0

No Windows 7, você pode usar um script do PowerShell:

Abra o PowerShell clicando no botão Start e digitando powershell no campo de pesquisa.

Em seguida, digite o seguinte comando na janela do PowerShell:

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

Você pode remover qualquer um dos campos: DisplayName, DisplayVersion, etc., se não precisar deles.

Se você deseja salvar a saída em um arquivo, use o redirecionamento:

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

Duas outras soluções de linha de comando não mencionadas anteriormente são:

  1. MyUninstaller - um programa freeware da NirSoft que, além da desinstalação, também pode exportar para HTML uma lista abrangente de todos os softwares instalados que incluem muitas informações adicionais. Tem a vantagem de ser portátil. Embora não seja "interno", você pode executá-lo a partir de uma unidade USB. Você pode encontrá-lo aqui .

  2. Belarc Advisor - um programa freeware (para uso pessoal) que faz análise de segurança e inventário abrangente do hardware e software do seu computador. Está disponível aqui . Infelizmente, você deve instalá-lo, por isso não atende totalmente às necessidades do OP, mas pode atender às necessidades de outras pessoas que tenham a mesma pergunta e possam instalar.

por 05.03.2017 / 16:59
0

A versão codificada em programas instalados c # via 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();
        }


    }
}
    
por 12.07.2017 / 16:57

Tags