# Работа с RDP

Платформа Sherpa RPA позволяет автоматизировать приложения, работающие в средах виртуализации и окнах удаленного доступа RDP (Remote Desktop Protocol) – как в полноэкранном так и в оконном режиме (режим единственного приложения в окне).

## Установка Sherpa RPA Runtime

На сервере RDP, к которому будет осуществляться подключение, необходимо установить SherpaRPARuntime.exe в режиме Attended по следующей инструкции:

{% embed url="<https://docs.sherparpa.ru/sherpa-orchestrator/razvertyvanie-platformy-pod-upravleniem-orkestratora/ustanovka-sherpa-rpa-runtime>" %}

После завершения установки рекомендуется перезагрузить сервер.

## Установка плагина Native RDP

На клиентском компьютере, с которого будет осуществляться подключение к RDP, необходимо установить плагин Sherpa Native RDP Plugin по следующей инструкции:

{% embed url="<https://docs.sherparpa.ru/sherpa-robot-i-sherpa-assistant/rabota-v-sherpa-assistant/kontekstnoe-menyu-sherpa-assistant/plaginy/ustanovka-plagina-native-rdp>" %}

## Подключение и работа с RDP

После установки необходимых компонентов можно приступать к работе с приложениями, запущенными через RDP. Для этого:

* На локальном компьютере запустите Sherpa Robot.
* Используйте инструмент записи действий для работы с окнами RDP. Все элементы интерфейса будут подсвечиваться, и селекторы будут записываться как обычно.
* Записанный селектор будет содержать параметр RDP в первой строке, что позволяет идентифицировать его как элемент, находящийся в среде RDP.

## Использование блоков Sherpa Designer для работы с RDP

В палитре блоков «Удаленный рабочий стол RDP/Citrix» Sherpa Designer доступны специальные блоки для работы с RDP / Citrix.

{% embed url="<https://docs.sherparpa.ru/sherpa-designer/spravochnik-blokov/udalennyi-rabochii-stol-rdp-citrix>" %}

Эти блоки позволяют выполнять действия внутри окон приложений, запущенных через RDP.

В зависимости от конфигурации RDP некоторые универсальные блоки, такие как "Создание подключения" или "Подключиться к сеансу", могут работать с RDP подключением, но не работать с Citrix подключением. В этом случае для запуска пользовательской RDP-сессии выполните с помощью Робота имитацию одного из типовых действий Пользователя, согласно инструкции по эксплуатации RDP развернутого в конкретном окружении:

* действие для запуска RDP-сессии;
* действие для запуска целевого приложения в рамках RDP-сессии.

После того как подключение с RDP приложению установлено стандартным способом, Робот автоматически сможет выполнять действия в RDP-окнах находящихся на экране.

## Лицензирование компонентов

Плагин Sherpa RPA Runtime, запущенный на стороне RDP, не считается самостоятельным Роботом и не требует отдельной Лицензии для своего запуска. Для успешной автоматизации приложений через RDP требуется действующая Лицензия на Sherpa RPA только на стороне клиентского Робота.

## Примеры использования

Роботы Sherpa могут выполнять различные задачи в среде RDP, такие как:

* Автоматизация ввода данных в приложения;
* Обработка документов и файлов;
* Выполнение рутинных операций, таких как клик по элементам интерфейса и ввод текста.

Работа с Sherpa RPA в среде RDP требует выполнения определенных шагов по установке и настройке, однако после этого процесс автоматизации становится простым и эффективным.

На локальном компьютере можно установить любой тип Робота:

* Sherpa Designer + Attended Robot,
* Sherpa Attended Robot,
* Sherpa Unattended Robot.

Именно с локального компьютера будет запускаться и выполняться сценарий Робота.

> Установку плагинов рекомендуется осуществлять от имени администратора (после чего дальнейшая работа не требует прав администратора).

После настройки Робот на клиентской стороне способен записывать и воспроизводить действия с помощью селекторов в окнах, открытых через RDP.

Подробнее о работе с селекторами:

{% embed url="<https://docs.sherparpa.ru/sherpa-designer/rabota-v-sherpa-designer/paneli-svoistv-i-peremennykh-i-rabota-s-nimi/panel-svoistv/nastroika-selektorov>" %}

## Особенности работы RDP-сессий

Когда вы отключаете RDP-сессию с помощью крестика — графический контекст Windows, а вместе с ним и интерфейс Пользователя, перестают существовать. В результате, Роботы, основанные на визуальных сценариях и элементах GUI, перестают работать.

Альтернативой является:

* Отключение RDP с помощью специального файла, который можно запустить с правами администратора и выйти из RDP без полного отключения сессии. Для этого на стороне удаленной машины необходимо запустить файл, находящийся в дистрибутиве Робота: `closerdpsession.exe`. Однако, это только «костыль», и протестировать работу роботов в таких условиях нужно заранее, так как гарантии отсутствуют.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeT09qKrboPscjub0O7eid0oPD0Lhf37S_CVtGPR-CDE78rVgLiq5GWRhuoqZz--qxjo6f8USa33BsZ03V5WPoeZDsG24IF8C8Vvlecl9_2AuiqkuFWsSRfVnxJM8cL1hpuSbUEPw?key=o_zVuYPLecebuklluw-DjQ" alt=""><figcaption></figcaption></figure>

* Настройка реестра Windows, которая позволяет при сворачивании окна рабочей сессии не отключать визуальный контекст. Для этого необходимо найти и проверить вручную параметр: `RemoteDesktop_SuppressWhenMinimized` в реестре Windows.\
  Установщик сам создает этот параметр и присваивает ему значение `2`. Однако иногда доступ к реестру может быть заблокирован групповыми политиками и тогда самим нужно создать этот параметр по ключам: `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Terminal Server Client Компьютер\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client`\
  Параметр: `[DWORD] RemoteDesktop_SuppressWhenMinimized = 2`
* Отключение RDP при помощи сочетания клавиш SHIFT+F4.
* Использование пункта меню Робота "Отключиться от текущей RDP сессии".

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdGQtdGd1kXpxj0aOvhg8wdfjsijSEoImVHRuqgMemiktxSvHfB7_BUfYDtv0k2pl1rSzut3Aey7Xxm0UESXEdh8B5eDztk8fBpUhRtxywprHau3--BlFK1W79qyIjBaADE5Ri93A?key=o_zVuYPLecebuklluw-DjQ" alt=""><figcaption></figcaption></figure>

Также при возникновении ошибок соединения важно проверить настройки IP-адресов, логинов, паролей и возможность установить стабильное подключение к целевым машинам.

Количество параллельных RDP-сессий в системе ограничено возможностями операционной системы. Без установки роли RDS (Remote Desktop Services) максимум — две одновременные сессии.

Важно учитывать, что Роботы, запущенные вне контуров клиента или на сервере, должны иметь подходящие права и настройки. Также возможна установка нескольких Роботов под разными учётными записями на одном сервере.

Также в Оркестраторе реализована возможность управлять состоянием Роботов, например, временно их отключать при проведении технических работ. В разделе «Роботы» есть переключатели для активации/деактивации Роботов при обслуживании или обновлениях. При отключении через Оркестратор Робот не будет получать новые Задания, но при этом сеанс RDP в системе сохранится, что позволит потом повторно подключиться и проверить состояние Робота.

## Видео

Пример удаленного запуска сценария Робота и передачи файлов представлен в следующем видео:

{% embed url="<https://sherparpa.ru/ucontent/?8fxu>" %}
