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

Liste de tous les logiciels installés sur le PC

Y a-t-il quelque chose d'intégré à Windows qui me permettrait de lister tous les logiciels installés sur un ordinateur de manière à pouvoir les copier/coller dans un tableur ? Je sais qu'il existe un logiciel qui peut le faire, mais je ne peux rien installer. Je préférerais ne pas utiliser un fichier de commandes si possible, mais j'imagine que ce sera la seule solution. Idéalement, je devrais pouvoir produire les mêmes informations que celles qui figurent dans la vue (non développée) du formulaire d'ajout/suppression de programmes.

Réponses (8)

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

Allumez votre console et tapez :

wmic product get name,version

Cela prend un certain temps, mais vous obtiendrez la liste complète des programmes installés. WMIC est la version console de Windows Management Instrumentation, disponible à partir de Windows 2000. En suivant les instructions ici et ici , vous pouvez indiquer à WMIC de sortir en format XML, ce qui pourrait être un peu plus pratique pour vous. Cependant, il suffit d'appeler wmic product get name pour obtenir une liste de noms d'applications, que vous pouvez facilement copier-coller dans un éditeur de texte et convertir au format tableur.

Vous pouvez aussi entrer :

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

Cela produira un fichier TXT avec la liste des programmes. Vous pouvez ensuite le coller dans une feuille de calcul, si vous le souhaitez.

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


Vous pouvez également utiliser le fichier csv.xsl pour formater la sortie en une liste de résultats au format CSV :

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

ou le fichier htable.xsl pour créer un tableau HTML des résultats :

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

Exécuter wmic product get pour obtenir une liste des logiciels installés, elle doit être exactement la même que celle des programmes ajoutés/supprimés.

Vous pouvez soi-disant obtenir une sortie dans un format spécifique, mais je n'ai pas essayé.

(Utilisez wmic product get /? pour voir les paramètres incluant le formatage de sortie, j'ai essayé de l'inclure ici mais le formatage n'était pas tout à fait correct).

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

Comme d'autres l'ont mentionné, vous pouvez obtenir ces informations grâce à une requête WMI pour les objets Win32_Product. PowerShell peut même le transférer dans un fichier CSV si vous le souhaitez.

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

Cependant, vous devriez rechercher les objets Win32_Product . Il n'y a pas que des boules de gomme et des sucettes.

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

WMIC ne fonctionnera pas sur un serveur si vous n'avez pas explicitement installé Management and Monitoring Tools dans le menu Add/Remove Windows Components .

Une autre solution est d'aller dans le Registre et regarder tous les programmes désinstallables en allant à

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Vous devrez cliquer sur chacun d'eux individuellement pour voir la valeur, donc à la place, vous pouvez faire un clic droit sur le dossier Uninstall et sélectionner Exporter. Assurez-vous que la Plage d'exportation est définie pour inclure uniquement la Branche sélectionnée :

^(?!"DisplayName").+

Ensuite, vous pouvez ouvrir le fichier .reg dans le bloc-notes++, mais vous allez obtenir beaucoup d'informations supplémentaires sur chaque application :

Vous pouvez vous débarrasser de toutes les lignes qui ne commencent pas par "DisplayName" en les comparant avec la regex suivante :

("DisplayName"="|")

Ensuite, vous pouvez supprimer l'une ou l'autre des chaînes "DisplayName" ou " en faisant correspondre sur la regex suivante :

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

Ensuite, vous pouvez supprimer toute ligne en double en faisant correspondre sur la regex suivante :

Ou vous pouvez simplement trier les lignes par ordre alphabétique et ensuite supprimer les lignes vierges

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

Le moyen le plus simple que j'ai trouvé est de faire fonctionner le nettoyeur de piriformes.
Il y a un bouton dans Outils -> Désinstallation -> “enregistrer dans un fichier texte”

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

Il existe deux autres solutions de non commande en ligne qui n'ont pas été mentionnées précédemment :

  1. MyUninstaller - un programme gratuit de NirSoft qui, outre la désinstallation, peut également exporter au format HTML une liste complète de tous les logiciels installés qui comprend de nombreuses informations supplémentaires. Il a l'avantage d'être portable. Bien qu'il ne soit pas “intégré”, vous pouvez l'exécuter à partir d'une clé USB. Vous pouvez le trouver ici .

  2. Belarc Advisor - un logiciel gratuit (pour usage personnel) qui effectue une analyse de sécurité et un inventaire complet du matériel et des logiciels de votre ordinateur. Il est disponible ici . Malheureusement, vous devez l'installer, il ne répond donc pas entièrement aux besoins de l'OP, mais peut répondre aux besoins d'autres personnes qui ont la même question et sont capables de l'installer.

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

La version encodée dans les programmes installés en c# via le registre

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

Sous Windows 7, vous pouvez utiliser un script PowerShell :

Ouvrez PowerShell en cliquant sur le bouton Start et en tapant powershell dans le champ de recherche.

Puis entrez la commande suivante dans la fenêtre PowerShell :

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

Vous pouvez supprimer n'importe lequel des champs : DisplayName, DisplayVersion, etc. si vous n'en avez pas besoin.

Si vous voulez enregistrer la sortie dans un fichier, utilisez la redirection :

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