Uma vez vi um cara executar um comando e recebi uma lista de todos os aplicativos instalados em seu computador. Como eu faço isso?
Gostaria de uma lista dos meus aplicativos atualmente instalados. Eu acredito que ele usou o WSH de alguma forma.
Uma vez vi um cara executar um comando e recebi uma lista de todos os aplicativos instalados em seu computador. Como eu faço isso?
Gostaria de uma lista dos meus aplicativos atualmente instalados. Eu acredito que ele usou o WSH de alguma forma.
Respostas:
Se você usa o Windows Vista ou o Windows 7 e não deseja instalar software adicional, pode:
wmic
( Enter)product get name
( Enter)wmic
-se?)
O PsInfo da Microsoft / Sysinternals pode listar todos os softwares instalados se você usar o sinalizador -s ao executá-lo. Você também pode usar -c para produzi-lo como um arquivo csv para usar no Excel, por exemplo.
C:\> psinfo -s > software.txt
C:\> psinfo -s -c > software.csv
Windows 2012 R2 x64
. Estou usando #PsInfo ver. 1.77
psinfo is not recognized as an internal or external command, operable program or batch file.
". E isso acontece mesmo na janela cmd de direitos elevados.
Um script do PowerShell para listá-los:
$loc = Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall
$names = $loc |foreach-object {Get-ItemProperty $_.PsPath}
foreach ($name in $names)
{
Write-Host $name.Displayname
}
Não é exatamente a linha de comando, mas para esse propósito, eu pessoalmente uso a ferramenta de desinstalação do CCleaner e você pode exportar a lista de softwares instalados para um arquivo de texto:
Também não é exatamente a linha de comando, mas o velho e confiável SIW também fará o trabalho. Destaque Aplicativos , clique com o botão direito do mouse em → Exportar para → CSV, HTML, TXT ou XML :
O SIW é gratuito e portátil, e a instalação não é necessária.
A solução CCleaner acima parece uma maneira decente de fazer isso, a menos que você esteja determinado a usar a linha de comando. Eu usei o CCleaner antes, é uma boa ferramenta. Mas não assuma que tudo está registrado no miniaplicativo Adicionar / Remover Programas (a mesma lista). Existem muitos aplicativos que usam a instalação no estilo xcopy, ou seja, basta descompactar esse arquivo e executar. Aqueles não aparecerão na lista.
Para adicionar à solução da MicTech - use wmic
e capture a lista de software instalado em um arquivo:
Abra uma janela da linha de comando ( Windows+ R, CMD.EXE)
wmic /OUTPUT:my_software.txt product get name
O Sysinternals psinfo.exe fornece as informações mais completas de todas as sugestões fornecidas e pode ser executado em qualquer PC com Windows a partir da linha de comando, diretamente de um prompt elevado de CMD, sem download permanente:
\\live.sysinternals.com\tools\psinfo.exe -s > %userprofile%\Desktop\_psinfo.txt
Você receberá um prompt de segurança ao executar isso e um EULA na primeira vez em uma máquina. Um arquivo de texto será salvo na área de trabalho atual.
O EULA pode ser aceito automaticamente assim:
\\live.sysinternals.com\tools\psinfo.exe -s /accepteula > %userprofile%\Desktop\_psinfo.txt
Há um aplicativo portátil chamado Showmysoft. Ele mostrará o software instalado na máquina local e nas máquinas remotas e pode exportar para PDF e CSV . A instalação não é necessária. Faça o download em http://spidersoft.in/showmysoft/ .
O requisito mínimo do sistema é o Microsoft .NET Framework 2.0.
A versão codificada nos programas instalados em C # via registro do Windows:
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();
}
}
}