# Установка плагина через групповые политики в домене Windows

## Установка браузера

В примерах используется корпоративный Яндекс Браузер и Windows Server 2019.

### Подготовка дистрибутива браузера

1. Скачайте инсталлятор [корпоративного Яндекс Браузера](https://browser.yandex.ru/download?partner_id=corp-common) или соберите собственный дистрибутив через [конструктор](https://browser.yandex.ru/corp/builds?banerid=6400000000&switch=1).

2. Поместите инсталлятор в общедоступную сетевую директорию. Убедитесь, что папка доступна на всех компьютерах домена.

3. Скачайте и разместите файл [ADMX](https://repo.global-system.ru/artifactory/common/ru/bitec/gs-desktop-tools/configs/relatedconfigs/YandexBrowser.admx) в папке `C:\Windows\PolicyDefinitions`.

4. Скачайте и разместите файл ADML ([русский](https://repo.global-system.ru/artifactory/common/ru/bitec/gs-desktop-tools/configs/relatedconfigs/YandexBrowserRU.adml) / [английский](https://repo.global-system.ru/artifactory/common/ru/bitec/gs-desktop-tools/configs/relatedconfigs/YandexBrowserEN.adml)) в папке `C:\Windows\PolicyDefinitions\<язык_ОС>`.

### Создание объекта групповой политики

1. Перейдите в `Панель управления > Система и безопасность > Администрирование`.
2. Откройте **Управление групповой политикой**.
3. Перейдите в `Лес > Домены > Домен > PC` и создайте объект групповой политики.
4. Добавьте в **Фильтры безопасности** нужные группы пользователей и компьютеров.
   ![Управление групповой политикой](img/gpo_create.png)
5. Нажмите ПКМ по новой политике > **Изменить**.

### Настройка установки браузера

1. Перейдите в `Конфигурация пользователя > Политики > Конфигурация программ > Установка программ`.
2. Нажмите ПКМ > **Пакет** > **Создать...** и выберите инсталлятор браузера в общедоступной папке (`YandexBrowserStock.msi`).
3. Укажите тип развёртывания **Назначенный**.
4. В свойствах пакета включите параметр **Устанавливать это приложение при входе в систему**.
   ![Установка программ через GPO](img/gpo_install_browser.png)
   После следующей перезагрузки компьютеров домена браузер установится автоматически.

## Установка плагина

### Подготовка дистрибутива

1. Скачайте MSI-инсталлятор плагина из [репозитория](https://repo.global-system.ru/artifactory/common/ru/bitec/gs-desktop-agent/windows/latest/globalerp-desktop-agent-latest-win64.msi).

2. Поместите файл `.msi` в ту же общедоступную сетевую директорию, что и браузер.

### Настройка установки плагина

1. Откройте созданный ранее объект групповой политики (ПКМ > **Изменить**).

2. Перейдите в `Конфигурация компьютера > Политики > Конфигурация программ > Установка программ`.

   ```{note}
   Плагин назначается на компьютер (не на пользователя), чтобы он был доступен
   при входе любого пользователя домена.
   ```

3. Нажмите ПКМ > **Пакет** > **Создать...** и выберите MSI-файл плагина в общедоступной папке.

4. Укажите тип развёртывания **Назначенный**.

   Плагин установится при следующей перезагрузке компьютеров домена.

## Установка расширения

### Подготовка веб-сервера

Для раздачи CRX-файла и XML-манифеста обновления необходим HTTP-сервер.
Рекомендуется Apache; в примере используется [HFS](https://github.com/rejetto/hfs/releases).

1. Скачайте и запустите HFS.

2. Загрузите [CRX-файл расширения](https://repo.global-system.ru/artifactory/common/ru/bitec/gs-browser-extension/latest/globalerp-browser-extension-latest.crx) из репозитория вендора.

3. Скачайте файл манифеста обновлений [update.xml](https://repo.global-system.ru/artifactory/common/ru/bitec/gs-desktop-tools/configs/relatedconfigs/update.xml).

   Внутри манифеста указывается ID расширения и ссылка на CRX-файл. Версия CRX должна совпадать с указанной в манифесте.

   ```xml
   <gupdate xmlns="http://www.google.com/update2/response" protocol="2.0">
     <app appid="ngfgcgjklkfnbpandhelhehghbfbebai">
       <updatecheck codebase="http://192.168.0.1/globalerp-browser-extension-latest.crx"
                    version="latest"/>
     </app>
   </gupdate>
   ```

   ```{note}
   Замените `http://192.168.0.1/` на адрес вашего веб-сервера.
   ```

4. Откройте панель управления HFS: `http://localhost/~/admin/`.

5. Перейдите в `Shared Files > Add > From Disk` и добавьте оба файла — CRX и XML.

   ![Добавление файлов в HFS](img/hfs_upload_files.png)

### Настройка групповой политики для расширения

1. Откройте объект групповой политики (ПКМ > **Изменить**).

2. Перейдите в `Конфигурация компьютера > Политики > Административные шаблоны > Яндекс Браузер > Расширения`.

3. Откройте параметр **Настройки расширений** (`ExtensionSettings`) и установите следующее значение (укажите актуальные адрес сервера и ID расширения):

   ```json
   {
     "*": {
       "install_sources": ["http://192.168.2.182/*"]
     },
     "ngfgcgjklkfnbpandhelhehghbfbebai": {
       "installation_mode": "force_installed",
       "override_update_url": true,
       "update_url": "http://192.168.2.182/update.xml"
     }
   }
   ```

   ![Настройка ExtensionSettings](img/gpo_extension_settings.png)

## Проверка применения политик

1. На клиентской машине запустите CMD от имени администратора и выполните:

   ```
   gpupdate /force
   ```

2. Откройте в браузере страницу:
   - Для Google Chrome: `chrome://policy/` 
   - Для Яндекс: `browser://policy/`  
   
и нажмите **Повторно загрузить политики**.

   Убедитесь, что политики успешно прочитаны из домена и применены к браузеру.

   ![Проверка политик](img/browser_policy_check.png)

3. Перейдите на страницу `browser://extensions/` и убедитесь, что расширение присутствует в списке и включено.

   ![Список расширений](img/browser_extensions_list.png)
