Установка и управление Google Chrome через GPO

Задача: Нужно при входе пользователя в систему запускать браузер (если возможно, то тот, который используется на его машине по умолчанию) и загружать в нем страницу https://win.ekzorchik.ru. Вот такая вот задача поступила от коллеги из нашего IT-отдела. Вот в чем загвоздка, на вопрос для его это и какой в этом практический смысл, он уходит от ответа. Четко сформулировать или как-то еще из него пришлось щипцами вытаскивать. Ну да ладно, я же сделаю да и попутно все задокумментирую. Т.к. все сотрудники в основном пользуются браузером Google Chrome, то внедрю централизованную установку.

Как всегда все обкатываю на своем тестовом полигоне на базе Debian 10 + Proxmox 6.

Мне понадобится:

  • srv-dc1.polygon.com (Windows Server 2012 R2 Std + роли AD,DNS,DHCP)
  • W10X64p1.polygon.com (рабочая станция Windows 10 Pro)

Шаг №1: Скачиваю с официальной страницы msi пакеты браузера Google Chrome, как для x68 так и для x64:

https://chromeenterprise.google/browser/download/

Шаг №2: Создана папка C:\PO в которую будут определены msi пакеты устанавливаемые через GPO

123456789101112131415C:\Windows\system32>net share PO=C:\PO /GRANT:”Authenticated Users”,READ C:\Windows\system32>icacls c:\PO /inheritance:d C:\Windows\system32>icacls c:\PO /remove “Users” /T C:\Windows\system32>icacls c:\PO /grant “CREATOR OWNER”:(OI)(CI)(IO)(F) C:\Windows\system32>icacls c:\PO /grant “NT AUTHORITY\Authenticated Users”:(OI)(CI)(RX) C:\Windows\system32>icacls c:\PO /grant “NT AUTHORITY\SYSTEM”:(OI)(CI)(F) C:\Windows\system32>icacls c:\PO /grant “POLYGON\ekzorchik”:(OI)(CI)(F) C:\Windows\system32>icacls c:\PO /grant “BUILTIN\Administrators”:(OI)(CI)(F)

Шаг №3: Создаю WMI—фильтр, т.к. политика будет применяться только к рабочим станциям:

  • WMI Filter name: Client
  • Namespace: root\CIMv2
  • Query: SELECT * FROM Win32_OperatingSystem WHERE ProductType = "1"
Создаю WMI-фильтр отделяющий только клиентские рабочие станции

Шаг №4: Создаю GPO с именем GPO_Browser_GoogleChrome и нацеливаю ее

  • Location: polygon.com
  • Security Filtering: Authenticated Users
  • WMI Filtering: Client

Шаг №5: Т.к. через данную GPO я буду разворачивать msi пакет, то указываю его:

Edit - GPO_Browser_GoogleChrome - Computer Configuration - Policies - Software Settings — через правый клик мышью на Software Installation выбираю New - Package — и указываю путь к msi пакету: \\srv-dc1\PO\GoogleChromeStandaloneEnterprise64.msi и нажимаю Open

  • Deployment state: Assigned

затем открываю свойства данного приложения, перехожу на вкладку Deployment и отмечаю галочкой параметр "Uninstall this application when it falls out of the scope of management"

Шаг №6: Инициирую применение GPO рабочей станцией

Win + R -> cmd.exe

C:\Windows\system32> gpupdate /force

Шаг №7: После перезагрузки клиентской станции, на рабочем столе значится ярлык "Google Chrome", запустив который и открыв «Настройки» - «Справка» - «О браузере Google Chrome», значится, что установлена самая последняя версия 86.0.4240.75 (Официальная сборка) 64 бит на момент написания данной заметки.

Шаг №8: Создаю единый каталог хранения GPO

1C:\Windows\system32>mkdir “C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions”

Шаг №9: Теперь мне нужно добавить в оснастку Group Policy Management admx шаблон для управления настройками. Скачиваю архив с ADM/ADMX шаблонами групповых политик для Google Chrome ( http://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip)

Содержимое архива:

  • chromeos (административные шаблоны для Chromium);
  • common (содержит html файлы с полным описанием всех настраиваемых параметров политик Chrome – см. файл chrome_policy_list.html);
  • каталог windows — содержит шаблоны политик Chrome в двух форматах: ADM и ADMX (admx это более новый формат административных политики, поддерживается начиная с Windows Vista / Windows Server 2008 и выше).

копирую en-us & ru-ru в каталог C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions

C:\Users\ekzorchik\Downloads\policy_templates\windows\admx\en-US

C:\Users\ekzorchik\Downloads\policy_templates\windows\admx\ru-RU

C:\Users\ekzorchik\Downloads\policy_templates\windows\admx\{chrome.admx,google.admx} в каталог C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions

либо если не нужно использовать централизованное хранение шаблонов, можно открыть необходимую GPO, перейти к разделу Computer Configuration - Policies - Administrative Templates и через правый клик на нем выбрать Add/Remove Templates… - Add и указываю путь в UNC-формате, т.е. сперва в каталоге где политика создаю каталог Adm и помещаю в него adm файлы, а затем выбираю их:

Шаблон для Google Chrome можно поместить в политику

и добавляю через Add/Remote Templates… - Add, хотя не нужно, запись уже создастся и будет выглядеть так:

Так выглядит добавление шаблона в политику

Еще вариант — это поместить admx (chrome.admx & google.admx) настроек Google Chrome в каталог: C:\Windows\PolicyDefinitions и файлы adml (chrome.adml & google.adml) из каталога policy_templates\windows\admx\en-US в каталог C:\Windows\PolicyDefinitions\en-US

Шаг №10: После чтобы появились настройки нужно на домен контроллере сделать Logoff/Logon, либо просто закрыть редактор групповых политик и открыть заново.

Шаг №11: После запускаю оснастку Group Policy Management на домен контроллере (srv-dc1):

Start — Control Panel — Administrative Templates — Group Policy Management и к примеру разворачиваю настройки GPO_Browser_GoogleChrome

Настройки управления Google Chrome в Administrative Templates

А если не централизованное добавление, а ручное использование шаблона в GPO, то доступ к настройкам выглядит так и настройки справедливы, как для Computer Configuration,так и для User Configuration

Ручное использование шаблона в GPO

А если добавление adml & admx файлов в C:\Windows\PolicyDefinitions

А если добавление adml & admx файлов в C:\Windows\PolicyDefinitions

Шаг №12: Чтобы к примеру выставить дефолтную страницу по умолчанию, то в настройках GPO

GPO_Browser_GoogleChrome: Computer Configuration - Policies - Administrative Templates - Google - Google Chrome:

  • Set Google Chrome as Default Browser: Enabled

GPO_Browser_GoogleChrome: Computer Configuration (практичнее на User Configuration дабы пользователь мог сделать Logoff&Logon, а не перезагружать компьютер) — Policies - Administrative Templates - Google - Google Chrome - Default Settings (users can override) - Startup, Home page and New Tab page:

  • Action on startup: Enabled
  • Action on startup: Open a list of URLs
  • Configure the home page URL: Enabled
  • Home page URL: https://win.ekzorchik.ru
  • Configure the New Tab page URL: Enabled
  • New Tab page URL: https://google.com
  • Show Home button on toolbar: Enabled
  • URLs to open on startup: Enabled
  • URLs to open on startup: нажимаю Show и указываю https://win.ekzorchik.ru

Шаг №13: На клиентской станции применяем политику

1gpupdate /force

и результат, при запуске браузера с рабочего стола открывается https://win.ekzorchik.ru, а если нажать новая вкладка, то открывается https://google.com

Шаг №14: В процессе внедрения данной заметки возникла задача, нужно чтобы когда пользователь авторизуется на своем рабочем месте у него запускался браузер с определенной страницей.

Сперва создаю скрипт (для начала если Google Browser x64) который будет это делать

on srv-dc1.polygon.com

C:\PO\run.bat

1start “google” “C:\Program Files\Google\Chrome\Application\chrome.exe” “https://win.ekzorchik.ru”

Затем на рабочем месте W10X64P1 вручную запускаю данный скрипт и в ответ получаю запускаемый браузер Google Chrome и указанный URL. Отлично.

Шаг №15: Теперь нужно модернизировать групповую политику, чтобы было два пакета установки Google Chrome: один для x86, другой для x64.

одна x64-битная установка

вторая x86-битная установка с обязательным сниманием галочки "Make this 32-bit x86 application available to Win64 machines."

Ниже скриншот для наглядного понимания.

for x86 пакет именуется автоматически, как Google Chrome (2)

Настройки развертывания msi пакета Google Chrome для x86 установщика

for x64 пакет именуется автоматически, как Google Chrome

Настройки развертывания msi пакета Google Chrome для x64 установщика

Шаг №16: Модернизирую скрипт, чтобы он запускал только тот браузер который используется в зависимости от архитектуры рабочего места:

\\srv-dc1\PO\run.bat

12345678910111213141516171819202122232425262728293031323334353637echo off set chrome32=”C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” set chrome64=”C:\Program Files\Google\Chrome\Application\chrome.exe” IF %PROCESSOR_ARCHITECTURE%==”AMD64″ (GOTO 64BIT) :64BIT if exist %chrome32% (goto AAA) if exist %chrome64% (goto BBB) if not exist %chrome32% (goto CCC) if not exist %chrome64% (goto CCC) :AAA rem start “google” %chrome32% “https://win.ekzorchik.ru” start “google” %chrome32% exit :BBB rem start “google” %chrome64% “https://win.ekzorchik.ru” start “google” %chrome64% exit :CCC echo “Browser not found”

Шаг №17: А теперь добавляю данный скрипт в групповую политику, дабы когда пользователь авторизуется на своем рабочем ПК у него запустится скрипт + применится политика назначения дефолтной страницы.

GPO_Browser_GoogleChrome - User Configuration - Policies - Windows Settings - Scripts (Logon/Logoff) — и через правый клик на Logon открываю Properties - Add - Browse, в адресной строке указываю путь до bat файла: \\srv-dc1\PO\run.bat и нажимаю Open, OK окна "Add a Script"Apply окна "Logon Properties" и OK окна "Logon Properties"

Итог настроек GPO:

Итог настроек GPO

Шаг №18: Проверяю на клиентской станции если отправить систему в перезагрузку, а после пройти процедуру авторизации отработает политики + Logon скрипт который запустит браузер и первой будет указанная страница в политике.

Задача выполнена. На этом у меня все, с уважением автор блога Олло Александр aka ekzorchik.