Получение установленных программ с помощью cmd или powershell [дубликат]

Я пытаюсь получить все установленные приложения на компьютерах моего домена, но я не нашел способа получить информацию точным способом сначала я пытался добиться этого с помощью раздела реестра:

  HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*

, но это вернуло больше информации, чем мне нужно, например, установленные обновления. Итак, я поискал другой способ и обнаружил, что класс wmi Win32_product содержит все установленные приложения, но после попытки с этим y обнаружил, что воспроизводимая информация неверна

enter image description here

¿почему существуют такие приложения, как google chrome, бесплатный прокси, диагностика системы dell , что не отображается при запросе класса?

In this link is the answer for this question

С помощью PowerShell можно получить точно такой же список приложений, как в «Добавление / удаление программ»

¡есть способ точно получить все установленные приложения в Windows через PowerShell или командную строку?

1
задан 13 April 2017 в 15:14
3 ответа

WMI-класс Win32_Product использует MSI-провайдер для сбора данных об установленных программах. Это означает, что вы будете получать данные только по программам/пакетам, установленным с помощью MSI. Далее, вызов этого класса приводит к выполнению действия по ремонту каждой возвращаемой программы. В большинстве случаев это не является проблемой, но это заполнит журнал событий и может вызвать проблемы для некоторого программного обеспечения. Вы можете получить более подробную информацию по этой ссылке: Win32_Product Class

Большинство скрипторов, кодеров и т.д. используют одну из двух вещей; 1) Запрос реестра, 2) WMI-запрос класса SCCM SMS_InstalledSoftware. Очевидно, что класс SCCM требует установки SCCM на хост. Подробнее об этом можно прочитать в HERE. Так что на самом деле остается только запрос реестра для большинства фолиантов. Не волнуйтесь, потому что вся работа уже сделана за вас TSG.

Ваш горшок с золотом "Use PowerShell to Quickly Find Installed Software"

Хотя я бы делал вещи немного по-другому, чем в этом посте, в нем уже написано все тяжелое. С небольшим количеством способностей и некоторым поиском Google вы можете настроить, как вы хотите.

.
4
ответ дан 3 December 2019 в 17:04

Не уверен, что вы намеренно игнорируете 64-битное программное обеспечение, но имейте в виду, что SOFTWARE\Wow6432Node предназначен только для 32-битного программного обеспечения, работающего на 64-битной машине. У вас также есть HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\

Если вам нужны все программы, вам нужно будет собрать несколько методов/ресурсов. Эти два ключа должны иметь большинство, если не все. Также необходимо учитывать HKEY_USERS[каждый пользователь]\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ и его Wow6432Node аналог. Такие приложения, как DropBox, иногда google chrome и некоторые другие устанавливаются только в пользовательском окружении. Подозреваю, что именно поэтому Win32_Product не имеет таких специфических пакетов.

Для фильтрации вашего агрегированного списка нет простого способа. Вы можете исключить пакеты с ключом System=1 или Publisher="Microsoft Corporation" (дважды проверьте имя ключа; возможно, я запомнил неправильно). Однако, эти ключи используются и в некоторых несущественных программах.

.
1
ответ дан 3 December 2019 в 17:04

Wmic может быть полезным инструментом для этого. Например : Wmic получает имя, версию.

C:\Windows\System32>wmic product get Name, Version
Name                                                                     Version
    Windows 7 USB/DVD Download Tool                                          1.0.30
    Microsoft Office OneNote MUI (English) 2010                              14.0.70
    ...  
    Oracle VM VirtualBox 5.0.10                                              5.0.10

Узнайте, что в этой команде может не получиться перечислить некоторые установленные программы. Для меня на Windows 7 не видно, что установлена Opera.

Также есть много опций для форматирования вывода: http://www.pearsonitcertification.com/articles/article.aspx?p=1700427&seqNum=4

0
ответ дан 3 December 2019 в 17:04

Теги

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