iMirRor, политика применяется если найден хотя бы один экземпляр объекта, значит фильтр должен что-то находить и при отсутствии ПО. Лобовое решение - создание своих (пользовательских) классов/объектов на ВСЕХ компьютерах домена (например, свой экземпляр для каждой конкретной программы). WQL-запрос атрибута таких объектов позволит определить состояние установки конкретного ПО. Объекты могут создаваться скриптом вручную, через политики или распространяться через инфраструктуру инвентаризации оборудования SMS/SCOM.
пример реализации таких объектов с присвоением атрибутам значений параметров реестра:
Using WMI filters with Registry values
Если единиц такого ПО немного, думаю практичней будет использовать обычные переменные окружения, заполнив их требуемым значением через скрипт автозагрузки компьютера, что-нибудь типа:
Код:
IsMsOfficeInstalled=True/False
MSOfficeVersion=0/10/11/..
В WMI-фильтре указывать WQL-запрос класса
Win32_Environment