Obtenha programas instalados via cmd ou powershell [duplicado]

1

Estou tentando obter todos os aplicativos instalados nos computadores do meu domínio, mas não encontrei uma maneira de obter as informações de maneira precisa primeiro eu estava tentando conseguir isso através da chave de registro:

  HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*

mas isso retornou mais informações do que as atualizações necessárias. Então, eu procurei por outro caminho e descobri que a classe wmi Win32_product contém todos os aplicativos instalados, mas depois de tentar com isso, descobri que a informação que recoleta está incorreta

¿porqueexistemalgunsaplicativoscomogooglechrome,proxygratuito,diagnósticosdosistemaDell,quenãoaparecemaoconsultaraclasse?

Inthislinkistheanswerforthisquestion

Com o powershell, obtenha exatamente a mesma lista de aplicativos que em Adicionar / Remover programas

¡existe uma maneira de obter com precisão todos os aplicativos instalados no windows via powershell ou linha de comando?

    
por kimo pryvt 21.12.2015 / 04:31

3 respostas

4

A classe WMI Win32_Product usa o provedor MSI para coletar dados do programa instalado. Isso significa que você só obterá dados sobre softwares / pacotes instalados usando o MSI. Além disso, chamar essa classe faz com que uma ação de reparo seja executada em cada programa retornado. Na maioria das vezes, isso não é um problema, mas ele preenche o log de eventos e pode causar problemas para alguns softwares. Você pode obter mais detalhes neste link: Classe Win32_Product

A maioria dos criadores de scripts, codificadores, etc. usa uma das duas coisas; 1) Consulta do Registro, 2) Consulta WMI da classe SCCM SMS_InstalledSoftware . Obviamente, a classe SCCM requer que o SCCM seja instalado no host. Você pode ler mais sobre isso AQUI . Então, isso realmente deixa apenas a consulta de registro para a maioria dos folx. Não se preocupe, porque todo o trabalho já foi feito para você pela TSG.

Seu pote de ouro é " Use o PowerShell para encontrar rapidamente o software instalado "

Enquanto eu fazia as coisas de maneira um pouco diferente do que naquele post, ele já tem todo o trabalho pesado já escrito. Com um pouco de aptidão e alguma pesquisa no Google você pode personalizar como quiser.

    
por 22.12.2015 / 21:04
1

Não tenho certeza se você está ignorando intencionalmente o software de 64 bits, mas lembre-se de que o SOFTWARE \ Wow6432Node deve ser usado apenas para software de 32 bits em execução em uma máquina de 64 bits. Você também tem o HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \

Se você quiser um software all , precisará agregar alguns métodos / fontes. Essas duas chaves devem ter mais, se não todas. Você também deve considerar HKEY_USERS [cada usuário] \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ e sua contraparte Wow6432Node. Aplicativos como o DropBox, às vezes o Google Chrome, e alguns outros são instalados apenas no ambiente do usuário. Eu suspeito que é também por isso que o Win32_Product não tem esses pacotes específicos.

Para filtrar sua lista agregada, não há uma maneira simples. Você pode excluir aqueles com a chave System = 1 ou Publisher="Microsoft Corporation" (verifique novamente o nome da chave; talvez eu tenha me lembrado errado). Essas chaves também são usadas em alguns softwares não essenciais.

    
por 21.12.2015 / 06:42
0

Wmic pode ser uma ferramenta útil para isso. Por exemplo: wmic product get Name, Version .

C:\Windows\System32>wmic product get Name, Version
Name                                                                     Version
    Windows 7 USB/DVD Download Tool                                          1.0.30
    Microsoft Office OneNote MUI (English) 2010                              14.0.70
    ...  
    Oracle VM VirtualBox 5.0.10                                              5.0.10

Beaware que este comando pode falhar listando alguns programgs instalados. Para mim, em Windows 7 , não vejo que Opera esteja instalado.

Há também muitas opções para formatar a saída: link

    
por 21.12.2015 / 07:40