最小化されたリモートデスクトップウィンドウでのロボット実行

最小化された RDP ウィンドウでのタスクの実行を行いたいと思い下記URLでレジストリの設定を行いました。

最初に、
「仮想環境上での自動化は、UI オブジェクトとの直接対話ではなく、要素の視覚的な認識によって実行されます。つまり、ほとんどの UI 上の操作が機能するには、RDP ウィンドウが常に表示されている必要があります。しかしながら、リモートデスクトップのウィンドウが最小化されている間も、リモートコンピュータ上で対話型タスクを実行することは可能です。これらの対話は、以下のようにローカルコンピュータ上のリモートデスクトップに関するレジストリの設定を変更することで、バックグラウンドで実行することができます。」

ということでレジストリの設定・ジョブ実行する前にロボットマシンからすべてのユーザーをサインオフを説明とおりに行ったつもりです。

何本かのロボットを所謂、バックグランド(最小化されたリモートデスクトップウィンドウでのロボット実行)しましたがUIが取得できず異常終了してしまいます。

オーケストレータから自動実行という選択肢もありますが、リモートデスクトップで
どのようにすれば上記URLのようにできるのでしょうか。

ご教示いただければと思います。

わかりにくい表現なのですが、この設定は、UiPath Robotが入っている、リモートでの接続先ではなく、RDPで接続する側のパソコンで行う必要があります。
ロボットを実行する側のPCでは、レジストリの変更は不要です。

2 Likes

ありがとうございます。
自端末にてレジストリの設定をしました。
自端末・接続先のCPUは64bitなので64bitでの設定しましたがロボットでUI要素取得できずエラーとなりました。
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Terminal Server Client (64 ビット)

32bitでの設定をするとうまく
最小化されたリモートデスクトップウィンドウでのロボット実行できました。
32bitでの設定はリモートデスクトップのモジュールが32bit系ということになるのでしょうか。すみません。

後、最小化されたリモートデスクトップウィンドウでのロボット実行を行うにあたり
各ロボットテストします。
もし可能でございましたら制限があるアクティビティ等があるのであればご教示お願いしたく思います。

RDPのセッションは、特に変更されずに維持されている筈なので、RDPのウィンドウを開いたままでの実行と、動作に変化はないはずです。
ローカルで作成したワークフローを、RDPで実行するときは、解像度やスケールの設定が変化することがあるので、Find Imageや、Image Existsなどの画像認識や、オフセット値を指定してのClick等は、動作が変化することがあります。

1 Like

ご助言痛み入ります。

ロボットを最小化されたリモートデスクトップウィンドウでテストしています。
何体もあるのですべてできるか分かりませんが
エラーが発生する事象として
システム画面でマウスクリックするときエラー発生がありましたが再度実行すると
問題なく動作します。
今はローカルでパブリッシュしたものをテストしていますが
オーケストレータ経由でのロボットを最小化されたリモートデスクトップウィンドウで実行と考えた場合も同様でしょうか。

オーケストレータ経由でのロボットを動作させることが目的です。
ロボットは手動実行とオーケストレータからのスケジュール設定に基づく動作に分かれ前者に対してどうすべきか考えています。

Orchestratorから起動するUnAttendedロボットは、2種類の動作形式があります。

  • Login to console を有効にした場合
    →端末を、直接操作するように、画面が表示されます。キーボードやマウスで、ロボットの操作に割り込むこともできます。
  • Login to console を無効にした場合
    →ロボットの内部で、外から見えないRDPのセッションを作り、そこでワークフローを実行します。(UiPathが内蔵している、FreeRDPというソフトの機能が、使われています)

Login to consoleを、有効にして実行しているときは、リモート先の端末で直接実行するのと、ほとんど変わらないはずです。
Login to consoleを、無効にして実行すると、動作はリモートデスクトップに近いので、似たエラーが出る可能性があります。

クリックに失敗する、というのは、情報が少なくて原因はわからないです。
たとえば、ユーザー権限の管理(UACの動作など)では、RDP接続と、そうでないときでUiPathの動作が異なるので、それが原因かもしれません。

1 Like

@matrix99999

エラーとなるクリックアクティビティで「Simulate Type」または 「SendWindowMessage」をONにして実行して見てください。
バックグランドで実行させる場合は、どちらかの指定が必要です。
それで動作するかも知れません。

1 Like