Задача: Нужно при входе пользователя в систему запускать браузер (если возможно, то тот, который используется на его машине по умолчанию) и загружать в нем страницу 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
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: ClientNamespace: root\CIMv2Query: SELECT * FROM Win32_OperatingSystem WHERE ProductType = "1"

Шаг №4: Создаю GPO с именем GPO_Browser_GoogleChrome и нацеливаю ее
Location: polygon.comSecurity Filtering: Authenticated UsersWMI 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
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: EnabledAction on startup: Open a list of URLsConfigure the home page URL: EnabledHome page URL: https://win.ekzorchik.ruConfigure the New Tab page URL: EnabledNew Tab page URL: https://google.comShow Home button on toolbar: EnabledURLs to open on startup: EnabledURLs to open on startup:нажимаюShowи указываюhttps://win.ekzorchik.ru
Шаг №13: На клиентской станции применяем политику
gpupdate /force
и результат, при запуске браузера с рабочего стола открывается https://win.ekzorchik.ru, а если нажать новая вкладка, то открывается https://google.com
Шаг №14: В процессе внедрения данной заметки возникла задача, нужно чтобы когда пользователь авторизуется на своем рабочем месте у него запускался браузер с определенной страницей.
Сперва создаю скрипт (для начала если Google Browser x64) который будет это делать
on srv-dc1.polygon.com
C:\PO\run.bat
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
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.