Когда я использую

wmic product get name name,version

Я получаю список, в котором отображаются все программы, установленные на моем компьютере, но все же не все программы перечислены. Когда я иду в панель управления> Удаление программ, я вижу больше программ

2 ответа2

2

По Microsoft: класс WMI Win32_Product представляет продукты в том виде, как они установлены установщиком Windows.

Поскольку существуют другие установщики / программные упаковщики (InstallShield, Wise, NSIS [Nullsoft Scriptable Install System]), которые, по-видимому, не регистрируются в WMI (так как они могут предшествовать ему), я предполагаю, что мы должны выполнять запросы в нескольких местах :(. Стандарты меняются, так как ИТ всегда так, так что это просто реальность, с которой нам приходится иметь дело. Как вы уже упоминали в комментарии, вы можете запросить реестр в этих местах для всех других приложений: HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall & HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

Я предполагаю, что WMI запрашивает реестр по этому адресу: HKEY_CLASSES_ROOT\Installer\Products

Вот несколько ссылок с дополнительной информацией:

0
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Sort-Object -Property DisplayName

Вы можете запустить это в powershell, чтобы получить эту информацию, включая дату установки. Вы также можете использовать «>» для вывода в виде текстового файла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .