Установка и управление 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
:
Шаг №2:
Создана папка C:\PO
в которую будут определены msi
пакеты устанавливаемые через GPO
123456789101112131415 | C:\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"
Шаг №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
1 | C:\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 файлы, а затем выбираю их:
и добавляю через 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
А если не централизованное добавление, а ручное использование шаблона в GPO
, то доступ к настройкам выглядит так и настройки справедливы, как для Computer Configuration
,так и для User Configuration
А если добавление 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:
На клиентской станции применяем политику
1 | gpupdate /force |
и результат, при запуске браузера с рабочего стола открывается https://win.ekzorchik.ru
, а если нажать новая вкладка, то открывается https://google.com
Шаг №14:
В процессе внедрения данной заметки возникла задача, нужно чтобы когда пользователь авторизуется на своем рабочем месте у него запускался браузер с определенной страницей.
Сперва создаю скрипт (для начала если Google Browser x64
) который будет это делать
on srv-dc1.polygon.com
C:\PO\run.bat
1 | start “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)
for x64 пакет именуется автоматически, как Google Chrome
Шаг №16:
Модернизирую скрипт, чтобы он запускал только тот браузер который используется в зависимости от архитектуры рабочего места:
\\srv-dc1\PO\run.bat
12345678910111213141516171819202122232425262728293031323334353637 | echo 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:
Шаг №18:
Проверяю на клиентской станции если отправить систему в перезагрузку, а после пройти процедуру авторизации отработает политики + Logon
скрипт который запустит браузер и первой будет указанная страница в политике.
Задача выполнена. На этом у меня все, с уважением автор блога Олло Александр aka ekzorchik.