none
Список установленных программ. RRS feed

  • Вопрос

  • @ECHO OFF
    :: Вывод списка установленных программ: >soft_install.txt
    CHCP 1251 > nul
    SET UNISTALL=HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
    FOR /f "tokens=7 delims=\" %%a IN ('reg query "%UNISTALL%"') DO (
            FOR /f "tokens=1,2,*" %%b IN ('reg query "%UNISTALL%\%%a" ^| FIND /I "DisplayName"') DO (
                    ECHO %%d  
                    ECHO. >>soft_install.txt
                    ECHO %%d >>soft_install.txt
            )
    )  
    

    Но выгружает он многовато. Задача вывести список установленных программ, которые отображаются в установке\удалении, без апдейтов и сервис паков желательно! Спасибо :)
    18 сентября 2012 г. 13:25

Ответы

  • если есть возможность использовать WMI,

    в Powershell: gwmi Win32_Product


    Грамотная постановка вопроса - уже 50% решения. Не забывайте помечать ответы как полезные или как ответ, если они Вам помогли.

    • Помечено в качестве ответа Oleg.A 19 сентября 2012 г. 8:55
    18 сентября 2012 г. 13:34
  • gwmi win32_product -Filter "Vendor like 'Microsoft%'"


    Всмысле, чтобы их не выводило! :)

    Если все кроме Microsoft:

    gwmi win32_product -Filter "Not Vendor like 'Microsoft%'"

    • Помечено в качестве ответа Oleg.A 19 сентября 2012 г. 8:55
    19 сентября 2012 г. 7:21
    Отвечающий

Все ответы

  • если есть возможность использовать WMI,

    в Powershell: gwmi Win32_Product


    Грамотная постановка вопроса - уже 50% решения. Не забывайте помечать ответы как полезные или как ответ, если они Вам помогли.

    • Помечено в качестве ответа Oleg.A 19 сентября 2012 г. 8:55
    18 сентября 2012 г. 13:34
  • если есть возможность использовать WMI,

    в Powershell: gwmi Win32_Product


    Грамотная постановка вопроса - уже 50% решения. Не забывайте помечать ответы как полезные или как ответ, если они Вам помогли.

    Многовато выгружает тоже... Можно ли фильтр сделать, чтобы скажем продукты MS фильтровать, типа office mui pack и прочее.

    18 сентября 2012 г. 13:54
  • gwmi win32_product -Filter "Vendor like 'Microsoft%'"
    18 сентября 2012 г. 14:00
    Отвечающий
  • gwmi win32_product -Filter "Vendor like 'Microsoft%'"

    Всмысле, чтобы их не выводило! :)
    19 сентября 2012 г. 7:05
  • gwmi win32_product -Filter "NOT Vendor LIKE 'Microsoft%'"

    Грамотная постановка вопроса - уже 50% решения. Не забывайте помечать ответы как полезные или как ответ, если они Вам помогли.

    19 сентября 2012 г. 7:17
  • gwmi win32_product -Filter "Vendor like 'Microsoft%'"


    Всмысле, чтобы их не выводило! :)

    Если все кроме Microsoft:

    gwmi win32_product -Filter "Not Vendor like 'Microsoft%'"

    • Помечено в качестве ответа Oleg.A 19 сентября 2012 г. 8:55
    19 сентября 2012 г. 7:21
    Отвечающий
  • На всякий случай - класс Win32_Product по-умолчанию тсутствует в Windows Server 2003 и ниже. Его нужно доустанавливать через компоненты. Если у вас установлен клиент ConfigMgr, то можно использовать класс Win32Reg_AddRemovePrograms.

    Vladimir Zelenov | http://systemcenter4all.wordpress.com

    19 сентября 2012 г. 8:38
  • Спасибо, работает! :)
    19 сентября 2012 г. 8:55
  • Он вытаскивает не все программы. У меня есть подозрение, что он показывает только те программы, которые были установлены с помощью msi пакета. А хотелось бы все=)
    21 августа 2014 г. 8:19
  • Подскажите пожалуйста, как добавить в этот код вывод еще одного столбца с производителем ПО
    6 ноября 2017 г. 13:42
  • Подскажите пожалуйста, как добавить в этот код вывод еще одного столбца с производителем ПО

    В какой этот код? у класса WMI про который тут шла речь есть параметр Vendor

    The opinion expressed by me is not an official position of Microsoft

    6 ноября 2017 г. 13:53
    Модератор
  • @ECHO OFF :: Вывод списка установленных программ: >soft_install.txt CHCP 1251 > nul SET UNISTALL=HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall FOR /f "tokens=7 delims=\" %%a IN ('reg query "%UNISTALL%"') DO ( FOR /f "tokens=1,2,*" %%b IN ('reg query "%UNISTALL%\%%a" ^| FIND /I "DisplayName"') DO ( ECHO %%d ECHO. >>soft_install.txt ECHO %%d >>soft_install.txt ) )

    вот сюда. нужно ещё один столбец с производителем ПО

    6 ноября 2017 г. 14:16
  • @ECHO OFF :: Вывод списка установленных программ: >soft_install.txt CHCP 1251 > nul SET UNISTALL=HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall FOR /f "tokens=7 delims=\" %%a IN ('reg query "%UNISTALL%"') DO ( FOR /f "tokens=1,2,*" %%b IN ('reg query "%UNISTALL%\%%a" ^| FIND /I "DisplayName"') DO ( ECHO %%d ECHO. >>soft_install.txt ECHO %%d >>soft_install.txt ) )

    вот сюда. нужно ещё один столбец с производителем ПО

    Код который вы привели был в вопросе, в ответе был другой код. В нем есть все необходимое...

    The opinion expressed by me is not an official position of Microsoft

    6 ноября 2017 г. 14:35
    Модератор
  • Мне не подходит вид выходного результата, предложенный в ответе. По этом и задал вопрос как в код, приведённый в вопросе, добавить вывод ещё одной строки в текстовый документ который формируется. если подробнее, код выводит строку "DisplayName", а мне нужно "DisplayName" и "Publisher".
    6 ноября 2017 г. 14:44
  • Мне не подходит вид выходного результата, предложенный в ответе. По этом и задал вопрос как в код, приведённый в вопросе, добавить вывод ещё одной строки в текстовый документ который формируется. если подробнее, код выводит строку "DisplayName", а мне нужно "DisplayName" и "Publisher".

    gwmi win32_product | ft Name, Vendor -AutoSize | Out-File Result.txt -append



    The opinion expressed by me is not an official position of Microsoft

    • Предложено в качестве ответа Valentin1993 6 ноября 2017 г. 15:17
    6 ноября 2017 г. 14:55
    Модератор
  • хм, работает отлично, но, он фильтрует и выводит только объекты Microsoft. а мне нужен на выходе полный список программ установленных на компьютере и их производители. =))
    6 ноября 2017 г. 15:13
  • разобрался.
    6 ноября 2017 г. 15:17
  • разобрался.
    В примере который привел я выводится без фильтра. Фильтр был в одном из ответов выше

    The opinion expressed by me is not an official position of Microsoft

    6 ноября 2017 г. 15:29
    Модератор