Se você é um administrador de sistemas, uma de suas tarefas é instalar, atualizar e remover software de muitos sistemas. E se eu te dissesse que você não precisa mais se conectar a cada máquina e verificar manualmente o software instalado? Na verdade, você pode listar o software instalado com o PowerShell!
Neste post do blog, vou te mostrar como listar o software instalado com o PowerShell na sua máquina local e em muitos computadores de uma só vez.

Observe que alguns artigos podem sugerir algo como
Get-WmiObject -Class win32_product
. Não faça isso. Saiba por que aqui.
Software Instalado e o Registro
Para referência, o software instalado existe em três locais:
- a chave de registro de desinstalação do sistema de 32 bits
- a chave de registro de desinstalação do sistema de 64 bits
- a chave de registro de desinstalação do perfil de cada usuário.
Cada entrada de software é geralmente definida pelo identificador único global (GUID) do software. O interior da chave GUID contém todas as informações sobre aquele software específico. Para obter uma lista completa, o PowerShell deve enumerar cada uma dessas chaves, ler cada valor do registro e analisar os resultados.
Como o código para analisar corretamente esses valores é muito extenso para caber em um único artigo, eu pré-construí uma função chamada Get-InstalledSoftware
para listar o software instalado com o PowerShell, que encapsula todo esse código para você, como você pode ver abaixo, que lista os programas instalados em um computador.
Depois de copiar e colar esta função no seu console do PowerShell ou adicioná-la ao seu script, você pode chamá-la usando um nome de computador específico com o parâmetro ComputerName
.
Listar Software Instalado com PowerShell
Ao fazer isso, você receberá um objeto para cada software instalado. Você pode obter uma riqueza de informações sobre qualquer software instalado.
Se você souber o título do software com antecedência, também pode usar o parâmetro Name
para limitar apenas ao software que corresponda a esse valor.
Por exemplo, talvez você queira apenas verificar se o Microsoft Visual C++ 2005 Redistributable (x64) está instalado. Você simplesmente usaria isso como o valor do parâmetro Name
conforme mostrado abaixo.
Resumo
Usando o PowerShell para obter o software instalado, você pode construir uma ferramenta completamente gratuita que você e sua equipe podem usar para encontrar facilmente o software instalado em muitos computadores com Windows de uma só vez!
Source:
https://adamtheautomator.com/powershell-list-installed-software/