Координатор Unattended-Роботов
Координатор — это сервис, который должен быть установлен под учетной записью Администратора RDP-сервера (терминального сервера), на котором планируется в пользовательских учетных записях запускать Unattended-роботов, при условии, что требуется автоматический вход в учетные записи Роботов. Координатор служит для запуска сессий локальных Пользователей вместе с Unattended-роботами на терминальных серверах под управлением операционных систем Windows 2008 — 2022.
Задача координатора — по команде оркестратора поднять и удерживать RDP подключение к локальной или удаленной пользовательской учётной записи, в которой затем запускается unattended-робот.
Для Attended-роботов указывать Координатор не требуется.
Координатор устанавливается из соответствующего дистрибутива Sherpa Coordinator, предоставляемого вендором. Sherpa Coordinator не требует отдельной лицензии.
Робот с функцией Координатор (для Unattended-роботов) отображается в таблице Роботы. Координатор всегда находится во включенном состоянии, о чем сигнализирует зеленый индикатор. Данный сервис обеспечивает создание и удержание сессий пользовательских учетных записей для Unattended-роботов в рамках используемого терминального сервера.
Все остальные Роботы – это технические учетные записи, запущенные на том же терминальном сервере.
В случае если у вас конфигурация предусматривает терминальный сервер (Windows Server с ролями и лицензиями RDS), координатор надо установить из-под админа, а SherpaRPARuntime в режиме «Unattended» в каждую из учётных записей пользователей на этом терминальном сервере, которые будут работать как unattended-роботы.
В случае если у вас не предусмотрены терминальные сервера, а есть только группировка виртуальных машин, одну из них нужно выделить под роль координатора. Эта виртуальная машина должна быть постоянно включена, т.к. она будет обеспечивать работу unattended-роботов на других машинах. При этом на самой виртуальной машине согласно стандартной RDP-лицензии Windows вы сможете установить одного unattended-робота в пользовательской учётной записи.
4.3.1 Принцип работы Координатора
По расписанию, вызову API, команде Робота либо по другому поддерживаемому триггеру Оркестратор даёт задание Координатору соответствующего терминального сервера создать RDP-подключение к локальной или удаленной учетной записи, выделенной для Unattended-робота, при этом на одном терминальном сервере может быть размещено и одновременно активно несколько таких учетных записей. Вход в учётную запись Unattended-робота производится с предоставленными Оркестратором логином и паролем.
На стороне Оркестратора этот процесс выглядит следующим образом:
4.3.2 Ссылка для скачивания Координатора
https://sherparpa.ru/downloads/SherpaRPACoordinator.exe
Дистрибутив SherpaRPACoordinator.exe устанавливается под админской учётной записью и впоследствии запускается как сервис от имени System.
4.3.3 Установка Координатора
Робот в любом из способов установки (с дизайнером или без, в версии exe или в версии msi) может иметь роль как Attended, так и Unattended, это определяется его лицензией (локальной или полученной из Оркестратора) и способом запуска (локально или через Оркестратор).
При установке Координатора необходимо выбрать тип устанавливаемого Робота, на первом шаге установки.
В примере на скриншоте ниже на виртуальной машине установлена ОС Windows Server 2019. На этой машине поднят виртуальный сервер, также созданы несколько учетных записей для входа под терминальным сервером.
При входе на сервер под учетной записью Администратора можно установить Координатор. Это служба, которая имеет два файла – саму службу и программу, которая управляет сессией.
При установке координатора необходимо ввести домен сервера Оркестратора и идентификатор (ID) Координатора.
ID координатора копируется в карточке Робот.
Далее необходимо проверить подключение.
При успешном подключении производится запуск установки. Также при необходимости можно настроить прокси.
После завершения установки Координатора, запускается служба Sherpa RPA Service.
При проверке наличия службы Sherpa RPA Service в реестре служб, видно, что она установлена и находится в состоянии Выполняется.
В настройках свойств Sherpa RPA Service предусмотрена возможность выбрать Тип запуска (вкладка Общие). Для удобства тип запуска можно установить Автоматически.
После установки Координатора дополнительная настройка не потребуется.
Далее нужно войти в учетную запись Пользователя, в которой будет установлен Робот, при этом используется установщик Runtime.
Для того, чтобы завести Координатор в
При создании Координатора необходимо указать имя (задается произвольно) и выбрать роль Coordinator.
Оркестратор, потребуется только его GUID (скопировать из Оркестратора).
После скопировать в карточке Координатора его GUID
GUID нужно вставить в настройки Координатора, который был установлен под учетной записью Администратора на терминальный сервер или виртуальную машину. На одном из этапов установки программа запросит этот GUID.
Далее, необходимо завести Unattended робота:
Здесь нужно выбрать ранее созданного Координатора, ввести IP машины с Unattended-роботом, логин (с доменом, если есть) и пароль от учетной записи Пользователя, под которой должен заходить робот. Если есть active directory, то логин учетной записи должен указываться через доменное имя (через слэш).
В выпадающем списке необходимо выбрать тот Координатор, через которого будет осуществляться запуск Unattended-робота.
Также необходимо указать Лицензионные ключи, которые ранее были добавлены на экране Лицензии.
Далее выбрать Unattended лицензию. Лицензия должна быть заранее заведена в Оркестратор и активирована (дата окончания лицензии должна быть больше текущего дня).
Скопированный GUID данного Робота нужно вставить в настройки Unattended-робота который будет установлен уже под учетной записью Пользователя на терминальный сервер или на виртуальную машину.
После установки и настройки Unattended-робота, нужно выйти из его учётной записи (logoff).
В карточке Робота необходимо обязательно заполнить IP-адрес или доменное имя машины, а также логин и пароль, с которыми Робот зайдет в свою учетную запись и сохранить изменения.
Далее, если сервер включен и Координатор также включен, в списке возле него будет зеленый индикатор
Учетная запись Unattended-Робота выключена и в списке будет отмечена красным индикатором, как на изображении на скриншоте ниже.
В результате окно Роботы должно выглядеть следующим образом:
Координатор – зелёный индикатор (на связи), Робот в учетной записи – красный индикатор (не на связи), т.к. его учетная запись разлогинена.
Тем не менее, можно создать Работу, выбрать этого Unattended-Робота, а также выбрать какой-либо Процесс или Задачу, который он будет выполнять. Задачу можно указать, а можно и не указывать, это опциональная функция.
4.3.4 Создание Работы на экране Работы
Работа может создаваться не только вручную, но и автоматически Оркестратором по мере отработки определенного Расписания или Работу можно завести через API.
После создания Работы Оркестратор видит, что Unattended-Робот недоступен, но ему назначен Координатор, и этот Координатор доступен. Оркестратор направляет Координатору команду на включение учетной записи этого Unattended-Робота. Координатор принимает команду и в рамках сервера поднимает RDP-подключение своей собственной учетной записи, в которой находится этот Робот. Т.е. он запускает RDP-подключение, учетная запись включается, внутри учетной записи запускается Unattended-Робот, в списке его индикатор становится зеленым. Он обращается к Оркестратору, видит, что в Работах для него есть Задача, принимает ее и отрабатывает.
Если запуск производится через такую цепочку действий, после выполнения Задачи Робот автоматически выйдет из своей Учетной записи и Учетная запись полностью выключится.
Автоматический выход из Учетной записи — это стандартная практика, часть подхода enterprise-фреймворков, в которой каждый запуск какой-либо задачи изолируется от других запусков через перезагрузку Учетной записи.
При возникновении нестандартных ситуаций в Учетной записи, например, если одна из программ, с которой работает Робот, зависает или появляется модальное диалоговое окно, которое блокирует все и Робот не может продвигаться дальше, потому что данный вариант не был предусмотрен в сценарии. Сценарий Робота в этом случае завершается с ошибками, но программа, с которой работал Робот (1С, к примеру), остается “висеть” с модальным окном и получается, что интерфейс заблокирован. Когда в следующий раз по Расписанию на этой же Учетной записи запустится Робот и начнет отрабатывать сценарий, он не сможет преодолеть заблокированную программу. Поэтому существует стандартная практика – когда Работа с Unattended-сценарием завершена (успешно или неуспешно), происходит его “Log off”. Операционная система убирает все лишнее и к следующему запуску Робота все начинается с чистого листа.
Эта функция безусловна, то есть при запуске через Координатор, Logoff произойдет в любом случае.
Примечание. Подобная организация взаимодействия с Работами позволяет обрабатывать множество записей из Очереди внутри одного запуска Работы. В сценарии Робота может быть множество разных блоков: Получить сценарии из очереди, Изменить статус задачи и другие. При запуске сценария из Очереди берется Задача, обрабатывается, затем берется следующая и так далее. |