Установка и обновление Mozilla Firefox с помощью групповой политики

Mozilla Firefox В отличие от почтового клиента Mozilla Thunderbird, в случае не менее популярного браузера Mozilla Firefox администраторам корпоративных сетей, которые построены на базе Active Directory, сегодня доступно, как минимум, два «стандартных» (не требующих использования какого-либо специализированного программного обеспечения) способа массовой установки и обновления браузера, первый из которых состоит в применении MSI-пакетов сторонних производителей (в частности, FrontMotion), второй — в использовании «тихой» установки Mozilla Firefox.

Два способа массового развертывания Mozilla Firefox

До декабря 2015 года мы устанавливали и обновляли Mozilla Firefox на всех рабочих станциях нашего домена Active Directory исключительно из MSI-пакетов от FrontMotion, на сайте которых всегда доступны актуальные версии MSI-пакетов 32-разрядных обычных и ESR-релизов браузера, а также его кастомной сборки FrontMotion Firefox Community Edition. Нас полностью устраивали MSI-пакеты наиболее легких и стабильных ESR-релизов Mozilla Firefox, все было хорошо, и все были довольны. Ситуация изменилась с выходом 43й версии браузера, начиная с которой стала доступна 64-разрядная версия Mozilla Firefox, для которой (по крайней мере, пока) не существует MSI-пакетов от FrontMotion. Данное стечение обстоятельств заставило меня вспомнить про режим «тихой» установки браузера, позволяющий выполнять развертывание как 32-, так и 64-разрядных версий Mozilla Firefox. Эта статья содержит описание обоих способов массовой установки и обновления Mozilla Firefox с использованием групповой политики, а также возможности их совместного использования.

Возможности и ограничения 64-разрядного Mozilla Firefox

32-разрядный Mozilla Firefox отлично работает на компьютерах с 32/64-разрядными операционными системами семейства Microsoft Windows, начиная с древней XP SP2 и заканчивая самыми последними версиями, поэтому необходимость перехода на 64-разрядный браузер может показаться неоднозначной.
Если Вас действительно не интересуют такие преимущества, как использование внушительных объемов памяти, доступных на современных рабочих станциях с 64-разрядными операционными системами, и повышенная производительности «тяжелых» Веб-приложений, можно продолжать использование 32-разрядного Mozilla Firefox на всех компьютерах, если Вы, как и я, стараетесь выжимать максимум из доступных аппаратных ресурсов, имеет смысл установить 64-разрядный браузер на все рабочие станции, соответствующие его системным требованиям, самым важным из которых является необходимость применения 64-разрядной операционной системы Microsoft Windows 7 или более поздней версии.
Для порядка я обязан предупредить Вас о том, что 64-разрядный Mozilla Firefox не поддерживает большинство NPAPI-плагинов, таких как, например, Java и Unity, с одним исключением, сделанным для Adobe Flash Player NPAPI Plugin. На мой взгляд, это ограничение вряд ли можно назвать существенным, особенно с учетом того, что до конца 2016 года Mozilla планирует полностью прекратить поддержку NPAPI-плагинов, и такие популярные браузеры, как Google Chrome, прекрасно «живут» без поддержки NPAPI-плагинов, отключенной еще в 2015 году.

Развертывание Mozilla Firefox из MSI-пакетов от FrontMotion

Перед развертыванием Mozilla Firefox из MSI-пакетов от FrontMotion нужно выбрать или создать объект групповой политики (далее — GPO), в область действия которого попадают те рабочие станции, на которых будет выполняться установка и обновление браузера. Предположим, что необходимые компьютеры находятся в подразделении (далее — OU) Workstations, с которым связан GPO Workstations Policy. Если Вас устраивает использование 32-разрядного Mozilla Firefox на рабочих станциях с 64-разрядными операционными системами, для развертывания браузера подойдет существующий GPO Workstations. Если Вы, как и я, любите порядок и желаете ограничиться применением 32-разрядного Mozilla Firefox только на компьютерах с 32-разрядными операционными системами, придется воспользоваться Консолью управления групповой политикой (далее — GPMC) для создания дополнительного GPO Worstations x86 Policy, связанного с OU Workstations, и одноименного (для избавления от путаницы) WMI-фильтра, ограничивающего область действия GPO Worstations x86 Policy рабочими станции с 32-разрядными операционными системами. WMI-запрос такого фильтра должен иметь следующий вид (обращаю Ваше внимание, что в рассматриваемом случае проверка того, что компьютер является рабочей станцией, не обязательна и добавлена исключительно для порядка):

SELECT * FROM Win32_OperatingSystem WHERE ProductType="1" AND OSArchitecture="32-bit"

После выбора или создания GPO для установки и обновление браузера, необходимо загрузить последний из доступных русскоязычных MSI-пакетов обычного или ESR-релиза Mozilla Firefox и сохранить его в общей папке, доступной для чтения Всем как на уровне файловой системы NTFS, так и на уровне общей папки.
После выполнения всех перечисленных действий остается добавить подготовленный MSI-пакет в список Конфигурация компьютера\ Политики\ Конфигурация Windows\ Конфигурация программ выбранного или созданного ранее GPO с помощью Редактора управления групповыми политиками.
После завершения распространения групповой политики и перезагрузки соответствующих рабочих станций на них будет установлен или обновлен 32-разрядный браузер Mozilla Firefox. Следует отметить, что, согласно официальной инструкции Frontotion, для изменения стандартных параметров развертывания браузера можно выполнить предварительную административную установку MSI-пакета и/или воспользоваться модификаторами. В связи с тем, что мы никогда не делали ни того, ни другого, мне нечего добавить по этому поводу.

Официальные инсталляторы Mozilla Firefox

Я не ошибся, написав слово «инсталляторы» во множественном числе. Как и в случае Mozilla Thunderbird, инсталляторы русскоязычного Mozilla Firefox являются исполняемыми файлами, только в отличие от единственного файла для почтового клиента, для браузера доступно сразу четыре аналогичных файла, первые два из которых предназначены для установки 32/64-разрядного обычного, вторые — 32/64-разрядного ESR-релиза Mozilla Firefox. Последние версии инсталляторов 32/64-разрядного обычного релиза браузера с именем Firefox Setup НомерВерсии.exe, доступны для загрузки на странице Download Firefox in your language, последние версии 32/64-разрядного ESR-релиза, имя которых содержит дополнительные буквы esr в конце, могут быть загружены со страницы Download Firefox Extended Support Release in your language. Обязательно учтите, что инсталляторы 32- и 64-разрядного Mozilla Firefox как обычных, так и ESR-релизов имеют совпадающие имена, не содержащие намеков на разрядность, поэтому я рекомендую дополнять их текстом -x86 и -AMD64 во время загрузи с указанных выше страниц. Как Вы уже догадались, предложенный текст не является случайным и совпадает с возможными значениями стандартной переменной окружения PROCESSOR_ARCHITECTURE, анализируя которые, мы будем определять разрядность операционной системы, а затем выбирать соответствующий ей инсталлятор браузера в рассмотренных ниже сценариях «тихой» установки Mozilla Firefox.
Как и в большинстве аналогичных случаев, Вы должны загрузить, переименовать описанным выше способом и сохранить выбранные инсталляторы браузера в общей папке, доступной для чтения Всем на уровне файловой системы NTFS и на уровне общей папки. Если Вы, как и я, используете ESR-релизы Mozilla Firefox, потребуется подготовить два файла — Firefox Setup 45.1.1esr-x86.exe и Firefox Setup 45.1.1esr-AMD64.exe. На момент написания данной статьи версия 45.1.1 была последней, поэтому в Вашем случае цифры могут заметно отличаться.
«Тихая» установка браузера не отличается от аналогичной процедуры для почтового клиента. Для ее выполнения нужно запустить инсталлятор с ключом -ms, при этом Mozilla Firefox, разрядность которого совпадает с разрядности операционной системы, будет установлен в папку %ProgramFiles%\Mozilla Firefox (при установке 32-разрядного браузера на компьютеры с 64-разрядными операционными системами используется папка %ProgramFiles(x86)%\Mozilla Firefox), а затем для него будут созданы ярлыки на Рабочем столе, в меню Пуск и на Панели быстрого запуска. Если на компьютере имеется более ранняя версия Mozilla Firefox, процедура «тихой» установки выполнит обновление браузера, не оказывая какое-либо влияние на данные пользователей, хранящиеся в папках %APPDATA%\Mozilla их профилей. Следует отметить, пользовательские данные 32- и 64-разрядного Mozilla Firefox совместимы между собой, поэтому в случае использования перемещаемых профилей можно не задумываться о разрядности операционных систем, установленных на рабочие станции.

«Тихая» установка 64-разрядного Mozilla Firefox

Если по тем или иным причинам Вы предпочитаете выполнять развертывание 32-разрядного Mozilla Firefox из MSI-пакетов от FrontMotion, можно организовать «тихую» установку только 64-разрядной версии браузера. В таком случае придется создать сценарий «тихой» установки 64-разрядного Mozilla Firefox, а затем обеспечить его запуск с помощью GPO, в область действия которого попадают компьютеры, соответствующие описанным выше системным требования.
Сценарий «тихой» установки 64-разрядного браузера должен выполнять два «стандартных» действия: во-первых, проверять, что Mozilla Firefox разворачиваемой версии не был установлен ранее, и, во-вторых, если браузер еще не установлен или имеет устаревшую версию, запускать процедуру «тихой» установки.
Как и в случае Mozilla Thunderbird, для выяснения номера версии Mozilla Firefox используется команда reg query, с помощью которой запрашивается значение строкового ключа CurrentVersion, находящегося в разделе HKLM\SOFTWARE\Mozilla\Mozilla Firefox ESR, для поиска текстовой строки выбрана команда find с последующим анализом кода завершения ERRORLEVEL. В результате сценарий InstallMozillaFirefox64.cmd имеет следующий вид:

set VERSION=45.1.1
reg query "HKLM\SOFTWARE\Mozilla\Mozilla Firefox ESR" /v CurrentVersion | find "%VERSION% ESR (x64 ru)"
if ERRORLEVEL 1 "\\local.company.com\SHARES\PACKAGES\Firefox Setup %VERSION%esr-AMD64.exe" -ms

Как и прежде, значение переменной окружения VERSION, заданное в первой строке сценария, должно быть равно версии инсталлятора, который используется в настоящий момент. Например, для установки Mozilla Firefox версии 45.1.1 ESR или обновления устаревших браузеров до этой версии требуется инсталлятор Firefox Setup 45.1.1esr-AMD64.exe и переменная окружения VERSION со значением 45.1.1. Как только Вы узнаете о появлении браузера версии 46.0 ESR и решите перейти на него, придется всего лишь загрузить инсталлятор Firefox Setup 46.0esr-AMD64.exe, изменить значение переменной окружения VERSION на 46.0 и удалить инсталлятор устаревшей версии. Как видите, все делается не сложнее, чем при использовании MSI-пакетов.
После подготовки и тестирования сценария InstallMozillaFirefox64.cmd следует выбрать GPO для его запуска. Выше мы договорились, что все рабочие станции находятся в OU Workstations, с которым связан GPO Workstations Policy. В связи с тем, что действие данного GPO распространяется не только на компьютеры с 64-разрядными операционными системами, он не подойдет для решения рассматриваемой задачи. Придется вновь воспользоваться GPMC для создания дополнительного GPO Worstations x64 Policy, связанного с OU Workstations, и одноименного WMI-фильтра, ограничивающего область действия этого GPO. WMI-запрос такого фильтра, выбирающего все рабочие станции с 64-разрядными операционными системами Microsoft Windows 7, 8, 8.1 и 10 должен иметь следующий вид (как и в прошлый раз, проверка того, что компьютер является рабочей станцией, не обязательна и добавлена для порядка):

SELECT * FROM Win32_OperatingSystem WHERE (Version LIKE "6.1%" OR Version LIKE "6.2%" OR Version LIKE "6.3%" OR Viersion LIKE "10.0%") AND ProductType="1" AND OSArchitecture="64-bit"

После создания и ограничения области действия GPO Worstations x64 Policy остается переместить сценарий InstallMozillaFirefox64.cmd в его список Конфигурация компьютера\ Политики\ Конфигурация Windows\ Сценарии\ Автозагрузка с помощью Редактора управления групповыми политиками.
После завершения распространения групповой политики и перезагрузки соответствующих рабочих станций, на них будет установлен или обновлен 64-разрядный браузер Mozilla Firefox. Следует отметить, что если воспользоваться WMI-фильтром, описанным при рассмотрения MSI-пакетов от FrontMotion, и слегка подправить сценарий «тихой» установки, описанная в этом разделе последовательность действий подойдет для развертывания 32-разрядного разрядного браузера Mozilla Firefox, однако я не рекомендую Вам торопиться, по крайней мере, до прочтения следующего раздела этой статьи.

«Тихая» установка 32- и 64-разрядного Mozilla Firefox

Переход на «тихую» установку как 32-, так и 64-разрядного Mozilla Firefox дает администраторам ряд преимуществ, к числу которых можно отнести, во-первых, независимость от сторонних поставщиков MSI-пакетов, судьба которых не всегда известна или предсказуема, а, во-вторых, простоту реализации, которая связана с отсутствием необходимости создания дополнительных GPO и обеспечения их нацеливания на нужные компьютеры с помощью WMI-фильтров.
Для обеспечения «тихой» установки и обновления и 32-, и 64-разрядного браузера достаточно создать соответствующий сценарий «тихой» установки, а затем обеспечить его запуск с помощью GPO, действие которого распространяется на все рабочие станции. В отличие от двух рассмотренных выше случаев, в этот раз нас полностью устроит существующий GPO Workstations Policy, и можно будет сосредоточиться только на подготовке сценария тихой установки установки 32- и 64-разрядного Mozilla Firefox. Сценарий InstallMozillaFirefox.cmd, должен выполнять такие же действия, как и рассмотренный ранее сценарий InstallMozillaFirefox64.cmd, с единственным отличием, заключающемся в обеспечении выбора разрядности инсталлятора браузера в зависимости от разрядности операционной системы рабочей станций, для выяснения которой, как было оговорено выше, используется стандартная переменная окружения PROCESSOR_ARCHITECTURE. С учетом сказанного сценарий InstallMozillaFirefox.cmd имеет следующий вид:

set VERSION=45.1.1
set REGISTRY_KEY_NAME="HKLM\SOFTWARE\Mozilla\Mozilla Firefox ESR"
if %PROCESSOR_ARCHITECTURE% == x86 (
  reg query %REGISTRY_KEY_NAME% /v CurrentVersion | find "%VERSION% ESR (x86 ru)"
  if NOT ERRORLEVEL 1 exit /B
) else (
  reg query %REGISTRY_KEY_NAME% /v CurrentVersion | find "%VERSION% ESR (x64 ru)"
  if NOT ERRORLEVEL 1 exit /B
)
"\\local.company.com\SHARES\PACKAGES\Firefox Setup %VERSION%esr-%PROCESSOR_ARCHITECTURE%.exe" -ms

Единственной особенностью сценария InstallMozillaFirefox.cmd является необходимость использования двух инсталляторов браузера, все остальное делается также, как в случае описанного выше сценария InstallMozillaFirefox64.cmd.
После проверки работоспособности сценария InstallMozillaFirefox.cmd на компьютерах с 32- и 64-разрядными операционными системами остается переместить его в список Конфигурация компьютера\ Политики\ Конфигурация Windows\ Сценарии\ Автозагрузка GPO Workstations Policy с помощью Редактора управления групповыми политиками, дождаться завершения распространения групповой политики, а затем перезагрузить соответствующие рабочие станции и убедиться, что на них установлен или обновлен браузер Mozilla Firefox, при этом его разрядность соответствует разрядности операционной системы каждого из обслуживаемых Вами компьютеров.

Как быть с 64-разрядными Microsoft Windows XP и Vista?

Обязательно учтите, что если у Вас уже есть или могут появиться рабочие станции с 64-разрядными операционными системами Microsoft Windows XP или Vista, придется доработать сценарий InstallMozillaFirefox.cmd, чтобы он выполнял установку 32-разрядного браузера на такие компьютеры, при этом следует помнить, что 32-разрядный Mozilla Firefox, установленный на компьютер с 64-разрядной операционной системой, хранит параметр CurrentVersion в разделе реестра HKLM\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox ESR. Сценарий InstallMozillaFirefox.cmd, учитывающий перечисленные особенности 64-разрядных операционных систем Microsoft Windows XP и Vista, может иметь примерно такой вид (добавленные строки выделены):

set VERSION=45.1.1
set REGISTRY_KEY_NAME="HKLM\SOFTWARE\Mozilla\Mozilla Firefox ESR"
if %PROCESSOR_ARCHITECTURE% == x86 (
  reg query %REGISTRY_KEY_NAME% /v CurrentVersion | find "%VERSION% ESR (x86 ru)"
  if NOT ERRORLEVEL 1 exit /B
) else (
  ver | find "5.1"
  if NOT ERRORLEVEL 1 goto XP_VISTA_64
  ver | find "6.0"
  if NOT ERRORLEVEL 1 goto XP_VISTA_64
  reg query %REGISTRY_KEY_NAME% /v CurrentVersion | find "%VERSION% ESR (x64 ru)"
  if NOT ERRORLEVEL 1 exit /B
)
"\\local.company.com\SHARES\PACKAGES\Firefox Setup %VERSION%esr-%PROCESSOR_ARCHITECTURE%.exe" -ms
exit /B
:XP_VISTA_64
reg query "HKLM\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox ESR" /v CurrentVersion | find "%VERSION% ESR (x86 ru)"
if ERRORLEVEL 1 "\\local.company.com\SHARES\PACKAGES\Firefox Setup %VERSION%esr-x86.exe" -ms

Первая группа выделенных строк идентифицирует рабочие станции с 64-разрядными операционными системами Microsoft Windows XP и Vista путем выполнения команд ver и поиска в отображаемых ими сведениях строк 5.1 и 6.0 (именно с них начинаются полные номера версий Microsoft Windows XP и Vista) с помощью команд find с последующим анализом кодов завершения ERRORLEVEL. В случае успешного поиска выполняется переход ко второй группе выделенных строк, выполняющей «тихую» установку 32-разрядного браузера, которая делается также, как описано выше, но отличается использованием другого раздела реестра.

Заключение

Я надеюсь, что эта статья поможет Вам автоматизировать развертывание 32/64-разрядного браузера Mozilla Firefox в домене Active Directory. Рассмотренные способы установки и обновления браузера прекрасно работают и могут использоваться как по отдельности, так и совместно. Если Вас интересует мой выбор, то в нашем случае все происходило в таком же порядке, как в статье — сначала использовались только MSI-пакеты от FrontMotion, затем была добавлена «тихая» установка 64-разрядного Mozilla Firefox на компьютеры с 64-разрядными операционными системами Microsoft Windows 7 и новее, наконец, примерно месяц назад я перевел все рабочие станции на «тихую» установку 32/64-разрядного браузера.

Понравилась статья?

Подпишитесь на RSS или почтовую рассылку;

Присоединяйтесь в Twitter, Facebook, Google+, VK;

Поделитесь ссылкой в социальной сети или блоге:

Оставить комментарий