- リリース ノート
- 基本情報
- UiPath Assistant
- インストールとアップグレード
- ロボットの種類
- Robot のコンポーネント
- ライセンス
- Robot を Orchestrator に接続する
- プロセスとアクティビティ
- ログ
- Robot JavaScript SDK
- 特定のシナリオ
- トラブルシューティング
Robot ガイド
Windows セッション
UiPath Robot は対話型の Windows セッション内でプロセスを実行します。ロボットが開始できる Windows セッションには以下の 2 つの種類があります。
- コンソール セッション
- FreeRDP セッション
ロボットが開始するセッションの種類は、[コンソールにログイン] オプションによって決まります。このオプションは既定で有効化されています。
ライセンスやデプロイにかかわらず、すべてのロボットの種類がこれら 2 つのセッションの種類のいずれにも接続できます。ただし、高密度ロボットは RDP セッションにしか接続できないことに注意してください。
UiPath.settings
ファイルによる設定よりも優先されます。
Windows セッションは、セッションの種類によらず、常にロボット端末上で作成されます。言い換えれば、セッションはロボット端末から同じマシンに作成され、Orchestrator からロボット端末に作成されるのではないということです。
Orchestrator からプロセスを開始した場合、Windows セッションは次のように作成されます。
- Orchestrator が、プロセスの詳細を含むメッセージを Robot サービスに送信します。
- Robot サービスが、そのマシン上に対話型 Windows セッションを作成します。
- Robot サービスが、そのセッションで Robot Executor を起動します。
- Robot Executor がプロセス実行を開始します。
このプロセスは、コンソールおよび FreeRDP の両セッションで同じです。
UiPath.settings
ファイルからのみ設定できます。
既定では、ロボットはコンソール セッションに接続します。1 つのマシン上で一度にアクティブにできるコンソール セッションは 1 つだけです。以前にこれとは異なる設定にした場合は、以下のいずれかの方法により [コンソールにログイン] オプションを有効化して、ロボットをコンソール セッションに接続させることができます。
UiPath.settings
ファイルで、LoginToConsole
パラメーターをtrue
に設定します。-
Orchestrator でロボットを作成または更新する際に、[設定] タブで [コンソールにログイン] の値を
Yes
に設定します。これにより、UiPath.settings
ファイルの設定が使用されます。Orchestrator から目的の値を設定するには、最初に [コンソールにログイン] オプションを有効化する必要があります。注: カスタム解像度を必要としないプロセスには、この種類の接続を使用することを推奨します。
1 台のマシンで一度にアクティブにできるコンソール セッションは 1 つだけです。つまり、そのマシンでは一度に 1 台のロボットしかプロセスを実行できないということです。実行が完了すると、セッションが切断されるので、別のロボットがそのマシンでセッションを開始し、プロセスを実行できます。
Orchestrator からジョブを開始したときにアクティブな RDP セッションが存在していた場合、そのセッションは終了されます。
コンソール セッションは、マシンのグラフィック カードの既定値として指定されている解像度を使用します。VDI (Citrix、Hyper-V、VMWare など) の場合、解像度は通常、VDI を管理するハイパーバイザーが指定します。カスタムの解像度は設定できないのでご注意ください。
FreeRDP セッションの場合、ロボットは動作させるマシンに仮想リモート デスクトップ セッションを作成します。ロボットを FreeRDP セッションに接続させるには、以下のいずれかの方法により [コンソールにログイン] オプションを無効化します。
UiPath.settings
ファイルで、LoginToConsole
パラメーターをfalse
に設定します。- Orchestrator でロボットを作成または更新する際に、[設定] タブで [コンソールにログイン] の値を
No
に設定します。[コンソールにログイン] オプションは既定では無効化されています。これはUiPath.settings
ファイルによる設定が使用されることを意味します。Orchestrator から目的の値を設定するには、まず [コンソールにログイン] オプションを有効化しておく必要があります。
注: 高密度ロボットには、FreeRDP セッションを介した接続が必要です。
Windows ワークステーションの場合、アクティブな FreeRDP セッションは 1 つしか存在できません。つまり、そのマシンでは一度に 1 台のロボットしかプロセスを実行できないということです。実行が完了するとセッションが切断されるので、別のロボットがそのマシンでセッションを開始し、プロセスを実行できます。
しかし、Windows Server の場合、そのマシンのユーザー 1 人につき 1 つのアクティブな FreeRDP セッションが存在するだけでなく、同じユーザーが複数のセッションを持つことも可能です。これは、そのマシン上で複数のロボットがそれぞれのユーザーのために、同時にプロセスを実行できることを意味します。このシナリオでは、ロボットが複数のセッションで 1 人のユーザーの複数のプロセスを実行することも可能です。ただし、それらはハードウェア イベント (UI Automation アクティビティなど) を使用するものであってはなりません。
Orchestrator からジョブを開始し、FreeRDP セッションが既にアクティブである場合、プロセスはそのセッション内で実行されます。
ResolutionWidth
、ResolutionHeight
、および ResolutionDepth
パラメーターを変更します。
- ファイル
- Orchestrator でロボットを作成または更新する際の [設定] タブ
実行コマンドと実際のプロセスの実行間の主要な通信手段は、Robot サービスです。プロセスを実行する必要がない場合、Robot サービスは Windows マシン上でアイドル状態で待機するため、アクティブな Windows セッションを必要としません。これは、Orchestrator との一定でオープンな通信を確保し、コマンドを受信した場合にプロセスを直ちに開始できるようにするためです。この通信は、HTTPS、すなわち WebSockets (SignalR) を使用して行われます。
false
である場合のみ、RDP を使用して Windows セッションが生成される点にご注意ください。
Robot サービスにプロセスの開始コマンドが送信されると、そのマシン上でロボットのユーザー向けの Windows セッションが RDP を使用して作成されます。その後、Robot サービスは新しく作成されたセッション内で Robot Executor を生成します。Excecutor とサービスは名前付きパイプを使用して通信を行い、Excecutor は実行対象を把握します。こうして、プロセスが Windows セッション内で実行されます。
Orchestrator からジョブを開始した場合、ロボットはセッションの接続設定に基づいて、Windows セッション WinSta0 に接続します。WinSta0 セッション (対話型セッション) では、一度に持つことのできるアクティブなデスクトップは 1 つのみです。
プロセスは、それが起動した対話型デスクトップに関連付けられ、実行中に他のデスクトップにアクセスすることはできません。アクティブなデスクトップでは、以下が保証されます。
- プロセスがハードウェア イベントを介してユーザー入力を受信できること
- プロセスがソフトウェア イベントを介してユーザー入力を受信できること
- マシン表示がレンダリングされ、継続的に更新されること
切断されたユーザー セッションはアクティブなデスクトップを持つことができません。対話型セッションでデスクトップがアクティブでない場合、以下の状況が発生します。
- プロセスはハードウェア イベントを介してユーザー入力を受信できない
- プロセスはソフトウェア イベントを介してユーザー入力を受信できる
- マシン表示がレンダリングされない