リモートデスクトップでのロボット実行するときの壁
天気予報取得ロボット作成で作成したロボットですが、これはPCにログインした状態で、Assistantから実行する必要があります。
せっかく作ったロボットなので、自動で動いて欲しいところです。
※普段macを使っていて、Windowsはリモートデスクトップで使っているため
しかし、UiPath Community EditionではOrchestrator(統合管理サービス)からのスケジュール実行などは利用できません。
また、実行すべきロボットもユーザー領域で動くため、電源を入れているだけではダメで、実際にログインした状態である必要があります。
※有償ライセンスのロボットはシステム領域で動くので、電源を入れているだけでOK。
動作させる方法
いろいろ調べた結果、UiPathでは非推奨であるものの、以下の設定を行うことでリモートデスクトップ環境で自動実行させることができました。
- ブラウザ操作の入力モードを「シミュレート」に設定する
- ロボットを実行するバッチを作成し、タスクスケジューラに登録
まずは作成したロボットを修正します。
クリック操作のアクションを選択した状態で画面右端のプロパティタブを開きます。
次に入力モードを「シミュレート」に変更します。
他のクリック項目やその他文字入力などの項目もあれば、全て同様に変更します。
次にロボットを自動実行するバッチ(auto.bat 等)を作成します。
以下のコードを参考にパスは適宜読み替えてください。
※UiPathのバージョンによってはUiRobot.exeの実行オプションが異なる可能性があります。
※ロボットのプロジェクト名に日本語が入っていると動かないため、英語(get_weather)に変更しています。
"C:\Users\[ユーザ名]\AppData\Local\UiPath\app-21.4.4\UiRobot.exe" execute --file "C:\Users\[ユーザ名]\Documents\UiPath\get_weather\Main.xaml"
あとは、この作成したをタスクスケジューラに登録して自動実行すれば完成です。
コメント