Внешняя поддержка RDP-сессии
Начиная с версии Оркестратора 1.24.6, в службу RDP2 добавлена возможность использования внешнего RDP-клиента (RdpClientExternal). При использовании внешнего клиента каждая RDP-сессия запускается в отдельном процессе, что повышает устойчивость службы к сбоям отдельных сессий.
Важно: приведённые ниже настройки внешнего RDP-клиента предназначены для предыдущих версий Оркестратора. В Primo RPA Orchestrator 1.26.7 LTS параметры
UseExternalClientи файлrdpclientexternalsettings.jsonбольше не используются. При обновлении до этой версии их необходимо удалить из конфигурации. Не добавляйте эти настройки при установке 1.26.7 LTS.
Включение внешнего RDP-клиента в предыдущих версиях
Для включения внешнего RDP-клиента добавьте параметр UseExternalClient в конфигурационный файл службы RDP2:
- Linux —
appsettings.ProdLinux.json; - Windows —
appsettings.ProdWin.json.
Значения параметра:
true— включить использование внешнего клиентаRdpClientExternal.false— отключить использование внешнего клиента (значение по умолчанию).
Пример настройки:
{
"UseExternalClient": true,
}Примечание: параметр
UseExternalClientопределяет способ запуска RDP-клиента. Он не управляет количеством попыток открытия сессии и задержками между ними. Эти параметры описаны ниже, в пункте «Настройка параметров подключения RDP-сессий на агентах».
Настройка журнала внешнего RDP-клиента
В предыдущих версиях Оркестратора на Windows при использовании "UseExternalClient": true служба RDP2 обращается к файлу rdpclientexternalsettings.json. В этом файле можно задать путь к журналу внешнего клиента для диагностики ошибок подключения.
**Пример настройки пути к журналу:**файле можно задать путь к журналу внешнего клиента, например для диагностики ошибок подключения.
{
"Logging": {
"FileLogPath": "C:\\Logs\\RDP2\\ExternalClient.log",
},
}Если путь не указан, лог по умолчанию создается в директории запуска службы RDP2 (или %TEMP% для интерактивных сессий).
Рекомендации: Убедитесь, что у службы RDP2 есть права на запись в указанный каталог.
Настройка параметров подключения RDP-сессий на агентах
Если для работы робота требуется поддержание RDP-сессии, перед запуском робота Оркестратор запрашивает открытие сессии через службу RDP. Этот процесс может занимать некоторое время.
Количество попыток открытия RDP-сессии и задержки между ними настраиваются в конфигурационном файле WebApi, в секции RobotStart, с помощью массива AttemptsKeepRDPSessionLevels.
Пример конфигурации:
"RobotStart": {
"TimeOutInMinutesForUnlock": 3,
"IntervalForReleaseInSeconds": 180,
"AttemptsKeepRDPSessionLevels": [
{
"AttempCount": 3,
"AttempExpirationInSeconds": 5
},
{
"AttempCount": 2,
"AttempExpirationInSeconds": 15
},
{
"AttempCount": 1,
"AttempExpirationInSeconds": 120
}
],
"WaitUserProfileLoaded": true,
"ReEnqueueNoRdpOrProfile": true
}Параметры подключения RDP-сессий:
| Параметр | Назначение | Примечание |
|---|---|---|
| AttemptsKeepRDPSessionLevels | Массив пар параметров AttempCount и AttempExpirationInSeconds – уровней стратегии открытия RDP-сессии. Каждый последующий уровень должен иметь большее значение AttempExpirationInSeconds, чем предыдущий | Попытки открыть начинаются с уровня 0 (первый элемент массива). При исчерпании количества попыток происходит переход на следующий уровень, пока уровни не закончатся. Не рекомендуется использовать больше 3-х уровней |
| AttempCount | Количество попыток открытия RDP-сессии в рамках уровня | |
| AttempExpirationInSeconds | Время задержки (сек) между попытками | Не гарантировано - при наличии многих RDP-пользователей время задержки может отличаться от указанного в настройке |
| WaitUserProfileLoaded | Ожидать загрузки профиля пользователя | Когда RDP-сессия открывается Оркестратором: пока не закончатся попытки AttempCount или пока не загрузится профиль RDP-пользователя. Загрузился ли профиль, проверяется путем опроса машины робота |
| ReEnqueueNoRdpOrProfile | Перенаправлять проект в очередь при недоступности RDP-сессии или профиля | Позволяет избежать ошибок запуска при временных проблемах с сессией |
Рекомендация: размещайте службу RDP2 на отдельной машине. Развёртывание на машине робота допустимо, если служба обслуживает только пользовательские RDP-сессии этой машины (автосессии).
Обработка некорректных учётных данных RDP-пользователя
Начиная с версии Оркестратора 1.26.6, при ошибке RDP-аутентификации из-за неверных учётных данных, истёкшего пароля или отключённой учётной записи служба RDP2 передаёт информацию об ошибке в WebApi. Для соответствующей учётной записи в таблице Agents устанавливается признак InvalidCredentials.
После установки признака:
- прекращаются дальнейшие попытки открытия RDP-сессии с этой учётной записью;
- связанный с учётной записью робот исключается из обработки очереди проектов;
- запуск проектов на этом роботе становится недоступен;
- соответствующие записи в интерфейсе Оркестратора выделяются, указывая на проблему с учётными данными.
Если для выполнения проекта нет других доступных роботов, проект возвращается в очередь, а в журнале Оркестратора появляется запись об отсутствии свободных роботов.
После исправления учётных данных и успешного редактирования пользователя признак InvalidCredentials сбрасывается, и робот снова может участвовать в выполнении заданий.
Просмотр и ручной сброс признака InvalidCredentials в UI4
Для просмотра и ручного сброса признака InvalidCredentials в интерфейсе UI4:
- Перейдите в раздел Система → Машины роботов.
- Откройте список Пользователи графического сеанса для нужной машины робота.

- Выберите пользователя и откройте форму Редактировать пользователя графического сеанса.
- Найдите переключатель Неверные учетные данные.

- После исправления учётных данных отключите переключатель и сохраните изменения.
После сброса признака InvalidCredentials робот снова может участвовать в выполнении заданий.
Важно: ручной сброс признака InvalidCredentials не устраняет причину ошибки аутентификации. Перед сбросом убедитесь, что учётные данные пользователя действительны.
Примечание: инструкция приведена для интерфейса UI4. В UI2 расположение элементов может отличаться.
Рекомендации по ресурсному обеспечению службы RDP2
Служба RDP2 потребляет следующие ресурсы:
- Оперативная память (RAM) — объём зависит от количества поддерживаемых RDP-сессий и разрешения виртуального экрана.
- Процессор (CPU) — нагрузка зависит от разрешения и глубины цвета виртуального экрана, а также графической активности робота.
- Сетевой трафик — объём зависит от количества сессий, разрешения и глубины цвета виртуального экрана, а также активности робота.
При увеличении количества RDP-сессий или активности роботов потребление ресурсов возрастает.
Рекомендация: используйте не более 20 RDP-сессий на один экземпляр службы RDP2.
Пример потребления оперативной памяти
Ниже приведён пример работы службы RDP2 с 10 роботами. Значения получены для конкретного тестового сценария и могут отличаться в другом окружении.
| Условия | Потребление RAM |
|---|---|
| Простой, поддержание RDP-сессий отключено | Около 60 МБ |
| Поддержание 10 RDP-сессий включено | Около 650 МБ |
| Выполнение простого проекта (калькулятор) на 10 роботах | Около 710 МБ |
| Открытие видео в Google Chrome на 10 роботах | Около 766 МБ |
Дополнительные ресурсы потребляются при трансляции экрана робота и управлении им через трансляцию. Эта возможность появилась в Оркестраторе версии 1.25.1.