Фильтр WMI для исключения / включения определенной версии приложения - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь написать WQL-запрос для фильтрации компьютеров по версии определенного программного обеспечения: Firefox.

Я хочу использовать этот WMI-фильтр в объекте групповой политики, чтобы проверить, установлена ​​ли версияявляется более ранней или равной или более высокой определенной версией: 60.8.0.0 esr.

Цель состоит в том, чтобы разделить компьютеры и пользователей, у которых есть старые версии, и компьютеры с новой .

Сотни компьютеров переустанавливаются через несколько дней с последней версией 68.0 esr .Используя SCCM, легко выполнить чистую установку определенного продукта, такого как Firefox, с последней версией 68esr в нашем случае и заблокировать обновление для другого.Компьютеры с более ранней версией имеют версию 60.7.0.2 для самых последних версий.Другие старые версии также присутствуют.

На самом деле некоторые параметры и самодельные сценарии используются для настройки групповых политик браузера (компьютеров и пользователей), а некоторые параметры, похоже, не работают.Я должен выбрать версию, чтобы применить официальный ADMX от Mozilla.Начиная с последней версии, firefox.exe может напрямую считывать политики реестра, отредактированные в объекте групповой политики и сохраненные в HKLM/SOFTWARE/Policies/Firefox.

В моем случае мне приходится иметь дело с 2 видами Firefox:

  • Новые компьютеры с простым новым GPO (область компьютеров)
  • Старые компьютеры с объектом групповой политики (область пользователей и компьютеров), который копирует некоторые файлы с помощью сценариев, созданных дома.

К сожалению, невозможно разделить компьютеры или пользователей в разных организациях.Устройство.
С одной стороны, фильтр WMI, кажется, является лучшим способом сделать это для новых компьютеров.
С другой стороны, компьютерам, которые будут обновлять Firefox через SCCM, будет легко подключаться кновые параметры без необходимости делать это вручную.
Я пробовал этот вид WQL-запроса:

SELECT * FROM Win32Reg_AddRemovePrograms
WHERE (DisplayName LIKE '%Firefox%') AND (Version LIKE '60.8.0%')

Я не могу сделать это, если только перечислю каждую версию, чтобы исключить / включить их, потому что Version представляется строковым значением, и я не знаю, как преобразовать его в целое число или разделить символом ".".

...