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

Перечислить все установленное программное обеспечение на ПК

Advertisement

Есть ли что-нибудь встроенное в Windows, что позволило бы мне перечислить все установленное на компьютере программное обеспечение так, чтобы его можно было скопировать/распастировать в электронную таблицу? Я знаю, что есть программы, которые могут это сделать, но я не могу ничего установить. Я бы предпочел не использовать пакетный файл, если это возможно, но я думаю, что это будет единственным способом. В идеале, я мог бы выводить ту же информацию, которая показана на (нерасширенном) представлении формы Add/Remove Programs Form.

Advertisement
Advertisement

Ответы (8)

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

Запустите консоль и напечатайте:

wmic product get name,version

Это займет некоторое время, но вы получите полный список установленных программ. WMIC - это консольная версия Windows Management Instrumentation, доступная начиная с Windows 2000. Следуя инструкциям здесь и здесь , вы можете сказать WMIC выводить в формате XML, что может быть немного удобнее для вас. Однако, просто позвонив в wmic product get name, вы получите список имен приложений, которые вы можете легко скопировать в текстовый редактор и преобразовать в формат электронных таблиц.

В качестве альтернативы, введите:

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

Это выведет TXT-файл со списком программ. Вы можете вставить его в электронную таблицу, если хотите.

Источник: http://helpdeskgeek.com/how-to/generate-a-list-of-installed-programs-in-windows/


Также вы можете использовать файл csv.xsl для форматирования вывода в CSV-список результатов:

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

или файл htable.xsl для создания HTML таблицы результатов:

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

Запустите wmic product get, чтобы получить список установленных программ, он должен быть exactly тем же самым списком, что и для добавления/удаления программ.

Вы можете предположительно получить его для вывода в определенном формате, но я не пробовал.

(Используйте wmic product get /?, чтобы увидеть параметры, включая форматирование вывода, я пытался включить его сюда, но форматирование было не совсем правильным).

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

Как упоминали другие, эту информацию можно получить с помощью WMI-запроса на объекты Win32_Product. PowerShell даже выложит его в CSV-файл для вас, если вы хотите.

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

Однако, вы должны искать Win32_Product issues . Это не все жевательные резинки и леденцы.

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

WMIC не будет работать на сервере, если вы явно не установили Management and Monitoring Tools в меню Add/Remove Windows Components .

Еще одним решением является переход в системный реестр и посмотрите на все удаляемые программы , перейдя по ссылке:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Вы должны будете щелкнуть по каждому в отдельности, чтобы увидеть значение, поэтому вместо этого нажмите правой кнопкой мыши на папку Uninstall и выберите Экспорт. Убедитесь, что в переменную Export Range включена только переменная Selected Branch:

Тогда вы можете открыть файл .reg в блокноте++, но вы получите много дополнительной информации по каждому приложению:

Вы можете избавиться от всех строк, которые не начинайте с "DisplayName", сравнивая их со следующим регэксом :

^(?!"DisplayName").+

Тогда вы можете удалить любую строку "DisplayName" или ", сравнив их с следующим регрессом :

("DisplayName"="|")

Тогда вы можете удалить любые дубликаты строк , выполнив совпадение с следующим регрессом :

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

Или вы можете просто сортировать линии в алфавитном порядке и затем удалить пустые.

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

Самый простой способ, который я нашел, это запустить пириформовский очиститель.
У него есть кнопка в Tools -> Uninstall -> “save to text file”.

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

Два других, ранее не упомянутых, решения, не связанные с командной строкой:

  1. MyUninstaller - бесплатная программа от NirSoft, которая, помимо деинсталляции, может экспортировать в HTML полный список всех установленных программ, включающий в себя множество дополнительной информации. Преимущество этой программы в том, что она портативна. Несмотря на то, что она не является “встроенной”, ее можно запускать с USB-накопителя. Вы можете найти его здесь .

  2. Belarc Advisor - бесплатная (для личного пользования) программа, которая проводит анализ безопасности и комплексную инвентаризацию аппаратного и программного обеспечения Вашего компьютера. Она доступна здесь . К сожалению, вы должны установить его, так что он не полностью удовлетворяет потребности ОП, но может удовлетворить потребности других, у которых есть такой же вопрос и которые могут установить его.

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

Зашифрованная версия в c# установленных программ через реестр

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

В Windows 7 можно использовать сценарий PowerShell:

Откройте PowerShell, нажав кнопку Start и введя powershell в поле поиска.

Затем введите следующую команду в окно PowerShell:

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

Вы можете удалить любое из полей: DisplayName, DisplayVersion и т.д., если они вам не нужны.

Если вы хотите сохранить вывод в файл, используйте перенаправление:

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

Похожие вопросы

3
19
10
28
5
Advertisement
Advertisement