К содержанию
Trialix

Установка Trialix Connector на Windows

Инструкция для Windows Server 2016 и новее или Windows 10 и новее, 64-разрядных (x64). Коннектор - один файл trialix-connector.exe без установщика и зависимостей. Он ставит себя службой Windows TrialixConnector, пишет в журнал событий и шифрует секреты через DPAPI машины. Как устроена безопасность коннектора, описано в разделе «Trialix Connector: архитектура и безопасность».

Важно. Живой проверки на Windows пока не было, инструкция по документации Microsoft и сборке коннектора. Сборка для Windows собрана из того же кода, что и проверенные сборки для Linux. Первую установку сделайте на тестовом сервере и пройдите чек-лист.

Что понадобится

  • Сервер или рабочая станция в домене с доступом к контроллеру домена по порту 636 (LDAPS) или 389 (LDAP со StartTLS).
  • Исходящий HTTPS (443) к api.trialix.ru, напрямую или через прокси.
  • Права локального администратора: регистрация службы и запись в %ProgramData%.
  • Сервисная учётная запись каталога с правом чтения (см. раздел своего каталога, например Active Directory) или вход по Kerberos (см. ниже).
  • В ЛК Trialix: роль владельца или администратора компании и лицензия с синхронизацией каталога.

Шаг 1. Получите код подключения

  1. ЛК, «Каталоги», карточка «Добавить коннектор».
  2. Введите название, например «Головной офис, AD», и нажмите «Добавить коннектор».
  3. Скопируйте код подключения вида XXXX-XXXX-XXXX. Код показывается один раз и действует час. Если не успели - в карточке коннектора нажмите «Новый код подключения».

Карточка «Добавить коннектор»: код подключения и команды установки

Шаг 2. Скачайте и проверьте файл

Откройте PowerShell от имени администратора:

$v = "0.1.0"
New-Item -ItemType Directory -Force C:\Trialix | Out-Null
Invoke-WebRequest "https://api.trialix.ru/v1/connector/download/trialix-connector-$v-windows-amd64.exe" -OutFile C:\Trialix\trialix-connector.exe
Invoke-WebRequest "https://api.trialix.ru/v1/connector/download/SHA256SUMS" -OutFile C:\Trialix\SHA256SUMS

Сверьте контрольную сумму:

$expected = (Select-String -Path C:\Trialix\SHA256SUMS -Pattern "windows-amd64.exe").Line.Split(" ")[0]
$actual = (Get-FileHash C:\Trialix\trialix-connector.exe -Algorithm SHA256).Hash.ToLower()
if ($expected -eq $actual) { "SHA256 совпадает" } else { "SHA256 НЕ совпадает - не запускайте файл" }

Подпись самого файла SHA256SUMS можно проверить на любой машине с OpenSSL 3, команды - в разделе «Обновления».

Если сервер выходит в интернет через прокси, добавьте к Invoke-WebRequest параметр -Proxy http://proxy.company.local:3128.

Шаг 3. Зарегистрируйте коннектор

В той же консоли администратора:

cd C:\Trialix
.\trialix-connector.exe enroll XXXX-XXXX-XXXX --url https://api.trialix.ru

С прокси:

.\trialix-connector.exe enroll XXXX-XXXX-XXXX --url https://api.trialix.ru --proxy http://proxy.company.local:3128

Ответ при успехе: «Коннектор зарегистрирован в компании «…». Дальше: trialix-connector setup, затем trialix-connector service install.»

Шаг 4. Настройте подключение к каталогу

Мастер

.\trialix-connector.exe setup

Мастер задаёт вопросы по очереди, Enter оставляет значение в скобках:

ВопросПример ответа
Адрес Trialixhttps://api.trialix.ru
Прокси (http://proxy:3128, пусто - без прокси)пусто или http://proxy.company.local:3128
Каталог: ad, samba, freeipa, openldap, customad
Адрес каталога (ldaps://dc.company.local:636)ldaps://dc1.company.local:636
StartTLS (да/нет)спрашивается только для ldap://
Файл сертификата CA (пусто - системные)пусто, если корневой сертификат домена уже в хранилище Windows
Базовый DN (DC=company,DC=local)DC=company,DC=local
Вход: simple или kerberossimple
Сервисная учётка (DN или user@domain)svc-trialix@company.local
Парольпароль сервисной учётной записи

Пароль при вводе в мастере виден на экране. Если рядом есть посторонние или консоль записывается, используйте настройку без вопросов (ниже), там пароль берётся из переменной окружения.

После сохранения мастер сразу запускает проверку и печатает строки [ok] и [!!].

Без вопросов

Для скриптов и развёртывания через GPO или SCCM. Пароль передаётся только через переменную окружения, в аргументах его нет:

$env:SVC_PW = Read-Host "Пароль svc-trialix" -MaskInput
.\trialix-connector.exe setup --profile ad --url ldaps://dc1.company.local:636 `
  --base-dn "DC=company,DC=local" --bind-dn "svc-trialix@company.local" --password-env SVC_PW
Remove-Item Env:SVC_PW

-MaskInput есть в PowerShell 7. В Windows PowerShell 5.1 используйте Read-Host -AsSecureString и преобразуйте строку, либо задайте переменную в сеансе другим способом.

Все флаги setup - в разделе «Параметры setup».

Шаг 5. Проверьте

.\trialix-connector.exe doctor

Все строки должны быть [ok]:

[ok] DNS api.trialix.ru - адрес найден
[ok] Прокси - не используется
[ok] HTTPS до Trialix - ответ за 120ms
[ok] Время на машине - расхождение 0s
[ok] Регистрация - коннектор …
[ok] DNS dc1.company.local - адрес найден
[ok] TLS каталога - сертификат dc1.company.local до 01.10.2027
[ok] Вход в каталог - сервисная учётка вошла (simple)
[ok] Чтение сотрудников - видно 412 учётных записей
[ok] Чтение групп - видно 57 групп

Что делать со строками [!!] - в разделе «Диагностика ошибок».

Посмотреть, что коннектор видит в каталоге, ничего не отправляя в Trialix:

.\trialix-connector.exe preview          # число сотрудников, отключённых, без почты, групп
.\trialix-connector.exe preview --json   # снимок ровно в том виде, в каком он уходит в Trialix

Шаг 6. Установите службу

.\trialix-connector.exe service install

Команда регистрирует службу TrialixConnector («Trialix Connector») с автоматическим запуском, перезапуском через 10 секунд при сбое и источником журнала событий TrialixConnector, затем запускает её. Служба запускает тот файл, из которого выполнена команда, поэтому не переносите C:\Trialix\trialix-connector.exe после установки.

Get-Service TrialixConnector          # Status: Running
Restart-Service TrialixConnector
.\trialix-connector.exe service uninstall

Через минуту в ЛК в карточке коннектора появится «в сети», имя машины, ОС и версия. Дальше - «Обновить список групп» и привязка групп к отделам, см. «Каталоги и Trialix Connector».

Ограничьте доступ к конфигурации

Секреты зашифрованы DPAPI в контексте машины: расшифровать их может любой процесс на этом сервере, но не на другом. Каталог %ProgramData%\Trialix\Connector наследует права %ProgramData%, где обычные пользователи имеют чтение. Оставьте доступ только системе и администраторам:

icacls "$env:ProgramData\Trialix\Connector" /inheritance:r /grant:r "*S-1-5-18:(OI)(CI)F" "*S-1-5-32-544:(OI)(CI)F"

S-1-5-18 - SYSTEM, S-1-5-32-544 - «Администраторы»; SID не зависят от языка Windows. Если служба работает от gMSA, добавьте её с правом изменения (см. ниже).

Kerberos без пароля

На Windows коннектор входит в каталог через SSPI учётной записью, от которой запущена служба. Пароль в конфигурации при этом не хранится.

  • Учётная запись компьютера. Служба по умолчанию работает от LocalSystem и в домене представляется учётной записью компьютера (COMPANY\SERVER$). Прав на чтение каталога у неё по умолчанию достаточно. В мастере ответьте kerberos на вопрос «Вход», вопросы про keytab и principal пропустите (они только для Linux). Без вопросов: setup --profile ad --url ldaps://dc1.company.local:636 --base-dn "DC=company,DC=local" --kerberos.
  • gMSA. Если политика ИБ требует отдельную учётную запись, создайте групповую управляемую учётную запись службы и запустите службу от неё:
# на контроллере домена (модуль ActiveDirectory); KDS root key в домене уже должен существовать
New-ADServiceAccount -Name gmsa-trialix -DNSHostName gmsa-trialix.company.local -PrincipalsAllowedToRetrieveManagedPassword "SERVER$"
# на сервере коннектора
Install-ADServiceAccount gmsa-trialix
sc.exe config TrialixConnector obj= "COMPANY\gmsa-trialix$" password= ""
icacls "$env:ProgramData\Trialix\Connector" /grant "COMPANY\gmsa-trialix$:(OI)(CI)M"
Restart-Service TrialixConnector

У gMSA должно быть право «Вход в качестве службы». Адрес каталога в настройке должен быть именем сервера (FQDN), а не IP-адресом: коннектор запрашивает билет для ldap/<имя из адреса>.

Команды doctor и preview, запущенные в консоли, входят в каталог учётной записью того, кто их запустил, а не учётной записью службы.

Параметры setup

ФлагЗначение
--profilead, samba, freeipa, openldap, custom
--urlадрес каталога: ldaps://host:636 или ldap://host:389
--starttlsвключить StartTLS для ldap://
--ca-fileфайл PEM с корневым сертификатом каталога
--base-dnбазовый DN поиска
--user-base-dn, --group-base-dnотдельные ветки для сотрудников и групп
--bind-dnсервисная учётная запись (DN или user@domain), включает простой вход
--password-envимя переменной окружения с паролем
--kerberosвход по Kerberos (на Windows - SSPI)
--user-filter, --group-filterсвои LDAP-фильтры
--attr ключ=атрибутсвои атрибуты для профиля custom, см. «Произвольный LDAP»
--trialix-urlадрес Trialix, по умолчанию https://api.trialix.ru
--proxyпрокси для связи с Trialix
--insecureотключить проверку сертификата каталога; только для стенда, doctor будет показывать предупреждение

Флаги можно передавать по частям: каждый вызов setup меняет только названные параметры.

Журнал

  • «Просмотр событий», «Журналы Windows», «Приложение», источник TrialixConnector.
  • Файл %ProgramData%\Trialix\Connector\connector.log.
  • Экран состояния: trialix-connector.exe без параметров в консоли. Клавиши: 1 - мастер настройки, 2 - проверка соединений, 3 - предпросмотр каталога, 4 - журнал, q - выход.

Обновление

.\trialix-connector.exe update
Restart-Service TrialixConnector

Коннектор проверяет подпись и контрольную сумму до замены файла. Старый файл остаётся рядом с именем trialix-connector.exe.old.

Чек-лист первой установки

  1. trialix-connector.exe version печатает версию и windows/amd64.
  2. enroll с кодом из ЛК отвечает названием компании.
  3. setup сохраняет настройки, doctor - все строки [ok].
  4. service install - служба TrialixConnector в состоянии «Выполняется».
  5. В ЛК карточка коннектора «в сети» в течение минуты.
  6. «Обновить список групп» - группы каталога появились в ЛК.
  7. В журнале «Приложение» есть записи источника TrialixConnector.
  8. После перезагрузки сервера служба поднялась сама, коннектор снова «в сети».

Если какой-то пункт не прошёл, пришлите в поддержку вывод doctor и последние строки connector.log.

Обновлено 29.09.2026