通知を受け取る

UiPath Robot

UiPath Robot ガイド

Windows セッション

Windows セッションについて

UiPath Robot は対話型の Windows セッション内でプロセスを実行します。ロボットが開始できる Windows セッションには以下の 2 つの種類があります。

  • コンソール セッション
  • FreeRDP セッション

ロボットが開始するセッションの種類は、[コンソールにログイン] オプションによって決まります。このオプションは既定で有効化されています。

ライセンスデプロイにかかわらず、すべてのロボットの種類がこれら 2 つのセッションの種類のいずれにも接続できます。ただし、高密度ロボットは、RDP セッションにしか接続できないことに注意してください。

📘

注:

Orchestrator からのロボットの設定は、UiPath.settings ファイルによる設定よりも優先されます。

Windows セッションは、セッションの種類によらず、常にロボット端末上で作成されます。言い換えれば、セッションはロボット端末から同じマシンに作成され、Orchestrator からロボット端末に作成されるのではないということです。

Orchestrator からプロセスを開始した場合、Windows セッションは次のように作成されます。

  1. Orchestrator が、プロセスの詳細を含むメッセージを Robot サービスに送信します。
  2. Robot サービスが、そのマシン上に対話型 Windows セッションを作成します。
  3. Robot サービスが、そのセッションで Robot Executor を起動します。
  4. Robot Executor がプロセス実行を開始します。

このプロセスは、コンソールおよび FreeRDP の両セッションで同じです。

Orchestrator に接続していない場合、[コンソールにログイン] オプションは UiPath.settings ファイルからのみ設定できます。

コンソール セッション

既定では、ロボットはコンソール セッションに接続します。1 つのマシン上で一度にアクティブにできるコンソール セッションは 1 つだけです。以前にこれとは異なる設定にした場合は、以下のいずれかの方法により [コンソールにログイン] オプションを有効化して、ロボットをコンソール セッションに接続させることができます。

  • UiPath.settings ファイルで、LoginToConsole パラメーターを true に設定します。
  • Orchestrator でロボットを作成または更新する際に、[設定] タブで [コンソールにログイン] の値を Yes に設定します。これにより、UiPath.settings ファイルの設定が使用されます。Orchestrator から目的の値を設定するには、最初に [コンソールにログイン] オプションを有効化する必要があります。
591

📘

注:

カスタム解像度を必要としないプロセスには、この種類の接続を使用することを推奨します。

1 台のマシンで一度にアクティブにできるコンソール セッションは 1 つだけです。つまり、そのマシンでは一度に 1 台のロボットしかプロセスを実行できないということです。実行が完了すると、セッションが切断されるので、別のロボットがそのマシンでセッションを開始し、プロセスを実行できます。

Orchestrator からジョブを開始したときにアクティブな RDP セッションが存在していた場合、そのセッションは終了されます。

コンソール セッションは、マシンのグラフィック カードの既定値として指定されている解像度を使用します。VDI (Citrix、Hyper-V、VMWare など) の場合、解像度は通常、VDI を管理するハイパーバイザーが指定します。カスタムの解像度は設定できないのでご注意ください。

FreeRDP セッション

FreeRDP セッションの場合、ロボットは動作させるマシンに仮想リモート デスクトップ セッションを作成します。ロボットを FreeRDP セッションに接続させるには、以下のいずれかの方法により [コンソールにログイン] オプションを無効化します。

  • UiPath.settings ファイルで、LoginToConsole パラメーターを false に設定します。
  • Orchestrator でロボットを作成または更新する際に、[設定] タブで [コンソールにログイン] の値を No に設定します。[コンソールにログイン] のオプションは既定では無効化されています。これは UiPath.settings ファイルによる設定が使用されることを意味します。Orchestrator から目的の値を設定するには、まず [コンソールにログイン] オプションを有効化しておく必要があります。
591

📘

注:

高密度ロボットには、FreeRDP セッションを介した接続が必要です。

Windows ワークステーションの場合、アクティブな FreeRDP セッションは 1 つしか存在できません。つまり、そのマシンでは一度に 1 台のロボットしかプロセスを実行できないということです。実行が完了するとセッションが切断されるので、別のロボットがそのマシンでセッションを開始し、プロセスを実行できます。

しかし、Windows Server の場合、そのマシンのユーザー 1 人につき 1 つのアクティブな FreeRDP セッションが存在するだけでなく、同じユーザーが複数のセッションを持つことも可能です。これは、そのマシン上で複数のロボットがそれぞれのユーザーのために、同時にプロセスを実行できることを意味します。このシナリオでは、ロボットが複数のセッションで 1 人のユーザーの複数のプロセスを実行することも可能です。ただし、それらはハードウェア イベント (UIAutomation アクティビティなど) を使用するものであってはなりません。

Orchestrator からジョブを開始し、FreeRDP セッションが既にアクティブである場合、プロセスはそのセッション内で実行されます。

オートメーション プロセスがカスタム解像度を必要とする場合は、この種の接続を使用することを推奨します。カスタム解像度を設定するには、以下のいずれかの場所にある ResolutionWidthResolutionHeight、および ResolutionDepth パラメーターを変更します。

RDP を使用したプロセスの実行

The main communication means between an execution command and the actual process execution is the Robot Service. If no process needs to be executed, the Robot Service idly stands by on the Windows machine and does not require an active Windows Session. This is done to ensure constant open communication with Orchestrator and to be able to immediately start a process if a command is received. The communication is done through HTTPS, more specifically through WebSockets (SignalR).

[コンソールにログイン] プロパティの値が false である場合のみ、RDP を使用して Windows セッションが生成される点にご注意ください。

1018

Robot サービスにプロセスの開始コマンドが送信されると、そのマシン上でロボットのユーザー向けの Windows セッションが RDP を使用して作成されます。その後、Robot サービスは新しく作成されたセッション内で Robot Executor を生成します。Excecutor とサービスは名前付きパイプを使用して通信を行い、Excecutor は実行対象を把握します。こうして、プロセスが Windows セッション内で実行されます。

📘

注:

ロボットが RDP を使用するのは Windows セッションを開始する時のみです。Orchestrator とプロセスが実行されるマシンの接続や、マシン外のその他のコンポーネントとの通信には使用されません。

アーキテクチャの概要

Orchestrator からジョブを開始した場合、ロボットはセッションの接続設定に基づいて、Windows セッション WinSta0 に接続します。WinSta0 セッション (対話型セッション) では、一度に持つことのできるアクティブなデスクトップは 1 つのみです。

プロセスは、それが起動した対話型デスクトップに関連付けられ、実行中に他のデスクトップにアクセスすることはできません。アクティブなデスクトップでは、以下が保証されます。

  • プロセスがハードウェア イベントを介してユーザー入力を受信できること
  • プロセスがソフトウェア イベントを介してユーザー入力を受信できること
  • マシン表示がレンダリングされ、継続的に更新されること

切断されたユーザー セッションはアクティブなデスクトップを持つことができません。対話型セッションでデスクトップがアクティブでない場合、以下の状況が発生します。

  • プロセスはハードウェア イベントを介してユーザー入力を受信できない
  • プロセスはソフトウェア イベントを介してユーザー入力を受信できる
  • マシン表示がレンダリングされない
2264

2 か月前に更新


Windows セッション


改善の提案は、API リファレンスのページでは制限されています

改善を提案できるのは Markdown の本文コンテンツのみであり、API 仕様に行うことはできません。