Я хочу сделать коллекцию, отображающую компьютеры с установленным приложением. Обычно это делается с помощью запроса, подобного следующему:
select * from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS_64 on
SMS_G_System_ADD_REMOVE_PROGRAMS_64.ResourceId = SMS_R_System.ResourceId
where SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName = "SoftwareDisplayName"
, который отлично работает для программ, перечисленных в:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Однако в этом случае это для команд Microsoft и реестраключ на самом деле не в HKLM, а в:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\Teams
Можно ли вообще сделать запрос для этого? Или мне придется создать собственный скрипт для проверки этих компьютеров? Какова лучшая стратегия здесь? Очень ценится.