Мне нужно применить GPO на всех машинах с IE 10+, но этот параметр не обязательно и не должен применяться, например, 9. Все машины - Windows Vista, 7 и 8 (некоторые 32-разрядные, а другие 64). .
Я нашел два способа сделать это
Первый метод кажется полным взломом и, вероятно, не лучший способ выяснить, какая версия IE фактически используется системой (например, как насчет программных файлов x86)
SELECT path,filename,extension,version FROM CIM_DataFile WHERE path="\\Program Files\\Internet Explorer\\" AND filename="iexplore" AND extension="exe" AND version>"8.0"
Второй способ использует встроенные пространства имен и классы WMI, но насколько я могу судить, Microsoft удалила пространство имен \ root \ cimv2 \ Applications \ MicrosoftIE из каждой ОС после Windows XP.
root\cimv2\Applications\MicrosoftIE;SELECT * FROM MicrosoftIE_Summary WHERE Version = '8.0.6001.18702'
Кто-нибудь знает, есть ли в Windows 7/8 новое пространство имен, в котором хранится версия Internet Explorer, или, может быть, есть третий способ отфильтровать мой GPO, о котором кто-то знает, но которого я не нашел.
Я процитирую от Group Policy Guy здесь: http://sdmsoftware.com/group-policy-blog/group-policy-preferences/gp-preferences-for-internet-explorer-11/
«В рамках XML, лежащего в основе настроек IE в GPO, они использовали таргетинг на уровне элементов (ILT), чтобы убедиться, что правильные настройки соответствуют нужной версии IE на клиенте. В частности, они используют скрытый File ILT для проверки версия IExplore.exe, запущенная на клиентском компьютере, и использование ее для определения настроек IE для развертывания из объекта групповой политики "
Похоже, что Microsoft также использует что-то похожее на вариант №1, который вы там разместили, и, честно говоря, я не вижу, что с ним не так.