- 基本情報
- UiPath Robot について
- UiPath Assistant
- インストール要件
- 無人オートメーション用にロボットをインストールする
- 無人オートメーション用にロボットを設定する
- 有人オートメーション用にロボットをインストールする
- 有人オートメーション用にロボットを設定する
- Integrations
- トラブルシューティング
Windows セッション
Robot は Windows セッション内でオートメーションを実行し、Orchestrator の [コンソールへログイン] の設定に応じてコンソールまたは RDP セッションを開始します。すべてのロボットは両方のセッションの種類に接続できますが、高密度ロボットは RDP セッションのみを使用します。
Windows セッションは常に、Robot がインストールされた物理マシンまたは仮想マシン上に作成されます。Orchestrator が Windows セッションを直接作成することはありません。代わりに、Orchestrator でジョブが開始されると、次のシーケンスが実行されます。
-
Orchestrator が、プロセスの詳細を含むメッセージをマシン上の Robot サービスに送信します。
-
Robot サービスが、そのマシン上に対話型 Windows セッション (WinSta0) を作成します。
-
Robot サービスが、先ほど作成したセッションで Robot Executor を起動します。
-
その後、Robot Executor がそのセッション内でオートメーションの実行を開始します。
Robot サービスは、オートメーションを実行するためのコマンドを実際の実行に接続します。
保留中のジョブがない場合、Robot サービスはアイドル ステートに遷移するため、アクティブな Windows セッションを必要としません。アイドル ステートで Orchestrator と常時通信しているため、コマンドを受信すると直ちに実行できます。この通信は WebSocket (SignalR) を使用して行われます。
これは既定の実行環境です。
コンソール セッションでは、ロボットは、ユーザーがホスト マシンにログインしているときにジョブを実行します。この種類のセッションは、一般的に次の場合に推奨されます。
-
有人オートメーションの場合。開いている任意のアプリケーションと対話して、人間のユーザーの操作を模倣できるためです。
-
カスタムの画面解像度を使用しないオートメーションの場合。コンソール セッションでは、ホスト マシンのグラフィック設定、または VDI ハイパーバイザーで指定されたグラフィック設定が使用されるためです。
-
一度に 1 つのオートメーションを実行する場合。前の実行が完了し、実行するロボットがアクティブなセッションから切断されると新しい実行が開始されるためです。
リモート デスクトップ プロトコル (RDP) セッションでは、ユーザーがリモートでマシンにログインすると、ロボットがジョブを実行します。この種類のセッションは、一般的に次の場合に推奨されます。
-
無人オートメーションの場合。ユーザーの操作を必要としないタスクを実行したり、マシンがロックされている場合やユーザーがログオフしている場合にもタスクを実行したりできるためです。
-
カスタムの画面解像度が必要なオートメーションの場合。この場合、Orchestrator の [ロボットの設定] タブで、解像度の幅、高さ、階調を設定します。
-
複数の Windows マシンが一度に 1 つのオートメーションを実行する場合。前の実行が完了し、実行するロボットがアクティブなセッションから切断されると新しい実行が開始されるためです。
-
以下のために Windows Server マシンで複数のオートメーションを同時に実行する場合。
-
同じユーザーが自身の別の RDP セッションで実行する
-
複数のユーザーそれぞれが各自の RDP セッションで実行する
-
Orchestrator でロボット アカウントを定義または編集する際に、ロボットがオートメーションの実行に使用するセッションの種類を選択できます。そのためには、[コンソールへログイン] オプションを使用します。
Orchestrator の [テナント] > [アクセス権を管理] > [ロボット アカウント] > [ロボットの設定] ページの [コンソールへログイン] オプションは、既定では無効化されています。ただし、ロボットは既定でタスクをコンソール セッションで実行します。
コンソール セッションをアクティブ化するには、[コンソールへログイン] オプションをオンにして [あり] を選択します。アクティブな RDP セッション中に Orchestrator からジョブが開始されると、RDP セッションは自動的に終了されます。
RDP セッションをアクティブ化するには、[コンソールへログイン] オプションをオンにして [なし] を選択します。Orchestrator からジョブが開始されたときに、RDP セッションがすでにアクティブである場合、ロボットはそのアクティブな RDP セッション内でジョブを実行します。
次の画像は、RDP 上でのプロセスの実行をまとめたものです。
-
Robot サービスが、実行を開始するためのコマンドを、WebSocket (SignalR) と呼ばれる HTTPS プロトコル経由で Orchestrator から受信します。
-
続いて、Robot サービスは RDP を使用してマシン上に Windows セッションを作成します。この RDP セッションは、ロボットに割り当てられているユーザーに対して作成されます。
-
RDP セッションが作成されると、Robot サービスはそのセッション内で Robot Executor を生成します。Robot サービスと Robot Executor は、名前付きパイプを介して相互に通信します。この方法により、Executor はどのタスクを実行する必要があるかを正確に把握できます。
-
生成された Windows セッション内でタスクが実行されます。
-
Robot サービスが RDP を使用するのは、Robot がインストールされているマシン上で Windows セッションを開始する場合のみです。Orchestrator とプロセスが実行されるマシンの接続や、マシン外のその他のコンポーネントとの通信には RDP を使用しません。
-
RDP セッションで Kerberos 認証が必要な環境で無人オートメーションを実行するには、localhost の値に DNS ホスト名を使用する必要があります。そのためには、マシンに次の環境変数を追加します。
UIPATH_DNS_MACHINENAME=True
UIPATH_DNS_MACHINENAME=True -
TCP が適用される環境でオートメーションを実行しても、RDP セッションには影響しません。