robot
2022.10
false
UiPath logo, featuring letters U and I in white

Guia do usuário do robô

Última atualização 18 de dez de 2024

Sessões do Windows

O UiPath Robot executa processos em uma sessão interativa do Windows. Há dois tipos de sessões do Windows que o Robô pode iniciar:

  • Sessão de Console
  • Sessão FreeRDP

O tipo de sessão que o Robô inicia é determinado pela opção LoginToConsole. Por padrão, essa opção está habilitada.

Todos os tipos de Robô, independentemente da licença ou da implantação, podem se conectar a ambos os tipos de sessão. Observe que Robôs de Alta Densidade se conectam apenas a uma sessão FreeRDP.

Observação: as configurações do Robô definidas no Orchestrator substituem as configuradas no arquivo UiPath.settings.

Uma sessão do Windows é sempre criada na máquina do Robô, independentemente do tipo de sessão. Em outras palavras, uma sessão é criada a partir da máquina do Robô para a mesma máquina, e não do Orchestrator para a máquina do Robô.

Quando um processo é iniciado a partir do Orchestrator, uma sessão do Windows é criada da seguinte maneira:

  1. O Orchestrator envia uma mensagem com os detalhes do processo para o Serviço de Robôs da UiPath.
  2. O Serviço de Robôs da UiPath cria uma sessão interativa do Windows na máquina.
  3. O Serviço de Robôs da UiPath inicia o Executor do Robô naquela sessão.
  4. O Executor do Robô inicia a execução do processo.

O processo é o mesmo para sessões de console e de FreeRDP.

Se você não estiver conectado ao Orchestrator, a opção LoginToConsole só pode ser configurada a partir do arquivo UiPath.settings.

Sessão de Console

Por padrão, o Robô se conecta a uma sessão de Console. Apenas uma sessão de Console pode estar ativa por vez em uma máquina. Se definido de outra forma anteriormente, você pode fazer com que o Robô se conecte a uma sessão de Console habilitando a opção LoginToConsole, por meio de um dos métodos a seguir:

  • No arquivo UiPath.settings, defina o parâmetro LoginToConsole como true.
  • Ao criar ou atualizar um Robô no Orchestrator, defina o valor do LoginToConsole como Yes a partir da aba Configurações. Por padrão, a opção LoginToConsole está desabilitada. Isso significa que é usada a configuração a partir do arquivo UiPath.settings. Para definir o valor desejado a partir do Orchestrator, você deve primeiro habilitar a opção LoginToConsole.


    Observação: é recomendável usar esse tipo de conexão para processos que não requerem uma resolução personalizada.

Pode haver somente uma sessão de console ativa por vez na máquina. Isso significa que somente um Robô pode executar processos por vez nessa máquina. Quando a execução for concluída, a sessão será desconectada e outro Robô poderá iniciar uma sessão e executar processos nessa máquina.

Se houver uma sessão ativa de RDP quando um trabalho for iniciado a partir do Orchestrator, a sessão ativa de RDP será encerrada.

Uma sessão de Console usa a resolução especificada pelas configurações padrão da placa de vídeo na máquina. Com VDIs (como Citrix, Hyper-V, VMware), a resolução é geralmente especificada pelo hipervisor que gerencia o VDI. Observe que você não pode definir uma resolução personalizada.

Sessão FreeRDP

Em uma sessão FreeRDP, o Robô cria uma sessão de Área de Trabalho Remota virtual na máquina em que ele estiver sendo executado. Você pode fazer com que o Robô se conecte a uma sessão FreeRDP desabilitando a opção LoginToConsole usando um dos métodos abaixo:

  • No arquivo UiPath.settings, defina o parâmetro LoginToConsole como false.
  • Ao criar ou atualizar um Robô no Orchestrator, defina o valor do LoginToConsole como No a partir da aba Configurações. Por padrão, a opção LoginToConsole está desabilitada. Isso significa que é usada a configuração a partir do arquivo UiPath.settings. Para definir o valor desejado a partir do Orchestrator, você deve primeiro habilitar a opção LoginToConsole.


    Observação: Robôs de Alta Densidade exigem uma conexão por meio de uma sessão FreeRDP.

Em uma estação de trabalho do Windows só pode haver uma sessão FreeRDP ativa. Isso significa que somente um Robô pode executar processos por vez nessa máquina. Quando a execução for concluída, a sessão será desconectada e outro Robô poderá iniciar uma sessão e executar processos nessa máquina.

Em um Windows Server, contudo, pode haver uma sessão de FreeRDP ativa para cada usuário da máquina, ou até várias sessões para o mesmo usuário. Isso significa que vários Robôs podem executar simultaneamente processos nessa máquina, cada um para seu usuário designado. Nesse cenário, os Robôs também podem executar processos para um usuário em várias sessões, mas não precisam depender de eventos de Hardware (como as atividades do UIAutomation).

Se um trabalho for iniciado a partir do Orchestrator e uma sessão FreeRDP já estiver ativa, o processo será executado naquela sessão.

É recomendável usar esse tipo de conexão se seu processo de automação exigir uma resolução personalizada. Você pode definir uma resolução personalizada modificando os parâmetros ResolutionWidth, ResolutionHeight e ResolutionDepth em um dos seguintes locais:

Execução de Processos sobre RDP

O principal meio de comunicação entre um comando de execução e a execução real do processo é o Serviço do Robot. Se não for necessário executar nenhum processo, o Serviço do Robot aguarda ocioso na máquina do Windows e não requer uma sessão do Windows ativa. Isso é feito para assegurar uma comunicação aberta constante com o Orchestrator e para poder iniciar imediatamente um processo se for recebido um comando. A comunicação é feita por meio do HTTPS, mais especificamente por meio do WebSockets (SignalR).

Observação: ao executar trabalhos Unattended em ambientes usando políticas que imponham a autenticação Kerberos para RDP, você deve definir a variável de ambiente UIPATH_DNS_MACHINENAME na máquina com o valor True. Isso alternará o uso do nome do host DNS para localhost ao criar sessões de RDP.
Observe que a sessão do Windows somente é gerada por meio de RDP se o valor da propriedade LoginToConsole for false.
Observação: ao usar Robots em um ambiente que impõe o TCP, as sessões dos Robots que usam conexões do RDP não são afetadas.


Quando um comando iniciar processo é enviado ao Serviço de Robô, ele cria uma sessão do Windows naquela máquina por meio de RDP para o usuário do Robô. Depois disso, o Serviço de Robôs da UiPath gera um Executor do Robô dentro da sessão recém-criada. O Executor e o Serviço então se comunicam por meio de Pipes Nomeados, e o Executor sabe exatamente o que executar. O processo é então executado dentro da sessão do Windows.

Observação: o Robô usa apenas RDP para iniciar uma sessão do Windows.O RDP não é usado para se conectar a partir do Orchestrator à máquina na qual o processo é executado, nem para comunicação com outros componentes fora da máquina.

Visão geral da arquitetura

Quando um trabalho é iniciado a partir do Orchestrator, o Robô se conecta à sessão do Windows WinSta0 com base na sua configuração de conexão de sessão. Uma sessão do WinSta0 (sessão interativa) pode ter apenas uma área de trabalho ativa por vez.

Um processo é associado à área de trabalho interativa na qual é iniciado e não pode acessar outras áreas de trabalho durante a execução. Uma área de trabalho ativa garante o seguinte:

  • Os processos podem receber a entrada do usuário por meio de eventos de Hardware
  • Os processos podem receber entrada do usuário por meio de eventos de Software
  • A exibição da máquina é renderizada e continuamente atualizada

Uma sessão de usuário desconectada não pode ter uma área de trabalho ativa. Se uma área de trabalho não estiver ativa em uma sessão interativa, ocorre o seguinte:

  • Os processos não podem receber entrada do usuário por meio de eventos de Hardware
  • Os processos podem receber entrada do usuário por meio de eventos de Software
  • A exibição da máquina não é renderizada

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.