# Установка Клиента ПМ на Windows — групповые политики

## Цель

Автоматическая установка Клиента ПринтМенеджер на рабочие станции Windows через механизм групповых политик (GPO) без ручного вмешательства на каждый компьютер.

## Предусловия

- На целевых компьютерах установлен пакет `Microsoft Visual C++ Redistributable packages for Visual Studio 2015` или новее.
- MSI-пакет (один или несколько, по разрядности ОС) и сертификат `printum_globalsign.cer` размещены в общедоступном сетевом каталоге. Пример: `\\test.ru\SYSVOL\test.ru\scripts\`
- Файлы доступны только на чтение и доступны для скачивания всем целевым компьютерам.
- Созданы два объекта GPO в оснастке "Управление групповой политикой" — они применяются в строгом порядке. 

## Создание политик

### Политика 1. Установка сертификата и разрешение установки драйвера

Название политики: `pm_client_pre-install`

1. Откройте "Управление групповой политикой" → "Объекты групповой политики", нажмите "Создать".
2. Выберите созданную политику и нажмите "Изменить".
3. Перейдите: "Конфигурация компьютера" → "Политики" → "Конфигурация Windows" → "Параметры безопасности" → "Политики открытого ключа" → "Доверенные издатели".
4. В правой части окна нажмите правой кнопкой мыши и выберите "Импорт" — откроется мастер импорта сертификатов.
5. Убедитесь, что "Расположение хранилища" выбрано как "Локальный компьютер". Нажмите "Далее".
6. Укажите сетевой путь до сертификата `printum_globalsign.cer`. Нажмите "Далее".
7. Убедитесь, что "Хранилище сертификатов" выбрано как "Доверенные издатели". Нажмите "Далее", затем "Готово".
8. Перейдите: "Конфигурация компьютера" → "Политики" → "Административные шаблоны" → "Система" → "Установка драйвера".
9. Откройте параметр "Разрешать пользователям, не являющимся администраторами, устанавливать драйверы для этих классов установки устройств". Переключите состояние в "Включено". В поле классов добавьте значение:
   - `4D36E979-E325-11CE-BFC1-08002BE10318`
   - `4658EE7E-F050-11D1-B6BD-00C04FA372A7`
10. Эти последовательности задают класс драйверов для Printum XPS драйвера. Нажмите "ОК" → "ОК".

### Политика 2. Установка MSI-пакета

Название политики: `pm_client_install`

1. Откройте "Управление групповой политикой" → "Объекты групповой политики", нажмите "Создать".
2. Выберите созданную политику и нажмите "Изменить".
3. Перейдите: "Конфигурация компьютера" → "Политики" → "Конфигурация программ" → "Установка программ".
4. В правой части нажмите правой кнопкой мыши: "Создать" → "Пакет". Укажите сетевой путь до файла MSI-пакета.
5. Выберите метод развертывания программ — "Особый". Перейдите на вкладку "Развертывание" → "Дополнительные поля" и выберите "Не использовать языковые установки при развертывании". Нажмите "ОК".
6. MSI-пакет должен соответствовать разрядности ОС целевых компьютеров.
7. Создайте отдельные политики для 32-битных и 64-битных систем с привязкой к соответствующим OU.

### Применение политик к OU

1. Выберите OU с целевыми компьютерами, нажмите правой кнопкой мыши → "Связать существующий объект групповой политики".
2. Выберите обе созданные политики и нажмите "ОК".
3. Перейдите на вкладку "Связанные объекты групповой политики". Убедитесь в правильном порядке применения. Политики обрабатываются снизу вверх: политика с наименьшим "Порядком ссылок" выполняется последней (наивысший приоритет).

Порядок должен быть:
1. `pm_client_pre-install` — выполняется первой (более высокий порядок ссылок)
2. `pm_client_install` — выполняется второй (порядок ссылок = `1`, наивысший приоритет)

Политики применятся автоматически в течение от нескольких минут до нескольких часов (зависит от инфраструктуры). Установка произойдёт при перезагрузке ПК и входе пользователя в Windows. 

Для принудительного применнеия политики выполните из командной строки:
```
gpupdate /force
```
После перезагрузки убедитесь, что служба `PrintumOptimizeService` находится в состоянии "Выполняется". 

## Копирование настроек клиента через GPO 

Для массового изменения настроек (адрес сервера, ключ доступа) из файла `settings.yml` создайте дополнительную политику.

1. Перейдите: "Конфигурация компьютера" → "Настройка" → "Конфигурация Windows" → "Файлы". Создайте новый файл.
2. Выберите действие "Заменить", в "Исходные файлы" укажите сетевой путь до файла `settings.yml`, в "Конечный файл" укажите путь, куда установлена программа. Обычно это `C:\Program Files\printum\printmanager_client\settings.yml`.
3. Привяжите созданную политику к тем же компьютерам. Порядок ссылок должен быть `1` (выполняется после установки программы).

## Обновление Клиента ПМ

Обновление выполняется аналогично установке по разделу "Политика 2. Установка MSI-пакета". Предварительно удалять предыдущую версию не нужно — установщик самостоятельно удалит предыдущие версии, сохранив настройки в файле `settings.yml`. 

## Диагностика и устранение неполадок 

| Симптом | Где проверять |
| ------- | ------------- |
| МФУ не появился | Установка драйвера — проверьте применение политики 1, наличие сертификата в `Trusted Publishers` | 
| Служба не запустилась |  MSI-установка — проверьте применение политики 2, журнал событий |
| Драйвер заблокирован | Сертификат в `Trusted Publishers` — откройте "Просмотр событий" (`eventvwr`), "Журналы Windows" → "Приложения", записи с источником `Group Policy Files` |
| GPO не применяется | Привязка OU — убедитесь, что OU с компьютерами связана с обеими политиками и порядок применения корректен |

## Ожидаемый результат

- Клиент ПМ установлен на всех целевых компьютерах, охваченных действием настроенных GPO.
- Пользователи видят принтер `Printum` в системе и могут отправлять задания на печать. 

## Типовые ошибки 

| Ошибка | Причина | Решение |
| ------ | ------- | ------- |
| Клиент ПМ не устанавливается через GPO. | Некорректная цепочка сертификатов или ошибка применения политики. | Проверить через `eventvwr` → "Журналы Windows" → "Приложения", записи с источником `Group Policy Files`. Изучить ошибки и при необходимости передать в техподдержку |
| Сертификат драйвера не установлен на целевом компьютере | Политика `pm_client_pre-install` не применилась или применилась некорректно. | В `certlm.msc` → "Доверенные издатели" проверить наличие сертификата "ООО Принтум". Проверить вкладку "Путь сертификации" — цепочка должна состоять из трёх ступеней и не содержать ошибок. |

## Связанные страницы 

- [Клиент ПМ — справка по компоненту](https://wiki.printum.io/books/2-komponenty-sistemy/page/klient-pm-spravka-po-komponentu-aX6)