LoginSignup
11
11

More than 3 years have passed since last update.

UiPath Community Editionで自動ログインを使う方法

Posted at

前提があるんです

 最初はぱぱーっと方法だけ書こうかと思ったんですが、副作用が色々起きうるので、原理や事情の説明からします。おっさんの長話に付き合ってください。

自動ログイン、やりたいよね

 UiPath Community Editionでは、OrchestratorからのUnAttended Robotについて、初期設定では

  • すでにログインしているユーザーの、画面ロックを解除して動作 → できる
  • Windows起動直後(ログイン前)で放置されている状態での自動ログイン → できない

 という特徴があります。(Enterprise Editionでは両方ともできます)

 これは別にライセンス上の制限ではなく、UiPath Enterprise Editionと、UiPath Community Editionの、インストール方式の違いによる制約になります。

なぜできないのか

 当たり前ですが、基本的にはWindowsで、ユーザーがログインする前には、そのユーザー権限でアプリは起動できません。何しろユーザーが居ないからです。
 そこでUiPath Enterprise Editionでは、ユーザーではなくサービスとして登録することで、Windowsユーザーが居ない状態でもRobotが待機状態になります。

 ところで、UiPath Enterprise Editionは、デフォルトのインストール先は、C:\Program Files (x86)\UiPath\Studioになります。これは、そのWindows環境で、どのユーザーも特に縛りがなく参照できる場所です。
 他方、Community Editionのインストール先は、C:\Users\(ユーザー名)\AppData\Local\UiPathになります。
(上記は両方とも、厳密には環境変数を参照して決定されますが、本筋ではないので省きます)

 なぜこんな違いがあるのかというと、Community Editionは自動でバージョンアップを行う機能があります。しかし、C:\Program Files (x86)配下のフォルダは、書き込みに管理者権限が必要になります。そうすると自動アップデートがかかるたびに管理者権限が要求されることになります。
image.png
 よくあるコレっすよ、コレ。

 そこでUiPath Community Editionは、ログインユーザー(≒起動ユーザー)が自由に書き込める場所にインストールすることで、上記の制限を回避しています。
 UiPath Community Editionで自動起動できない問題の根っこは、逆にこの設定による弱点が原因です。ユーザー固有のディレクトリディレクトリであるということは、他のユーザーからの読み込み・書き込みは、色々制限がかかるということでもあります。

 故に、そんな場所にあるものをサービスとして登録すると、他のユーザーでの起動時に整合性に問題が出る可能性があるんですね。
 つまりですね、ここから先に書く手順は、複数ユーザーが同じWindows PCを使っている環境でやると、色々と不具合を引き起こす可能性がありますというところを、重々ご承知ください。

 あともう1つ。
 上にも書きましたが、UiPath Community Editionは、自動でバージョンアップがかかります。当然、バージョンアップごとにモジュールは変化します(更新されます)
 サービスとしての登録の解除・再登録は自動バージョンアップではやってくれないので、自動バージョンアップがかかったら、即座に設定をやりなおす必要があります、というのを忘れないでください。
 忘れたらどうなるか、正直わかりません。まあPCが壊れたりとかはないと思いますが、Windowsの起動時にエラーが出るとか、UiPath StudioやUiPath Robotが起動しなくなるぐらいはざらに発生する可能性があります。しょうがないよね、サービス関連の処理がおかしくなるから。

つまりですね

 上につらつら書いた事情や、設定のリスクをきちんと理解してやってくださいね。壊れたって言われても筆者は責任とれないゾ。

具体的な手順

 手順そのものはそんなには難しくないです、多分。
 あとここに書いてるのは、UiPath Studio Community Edition 19.10.2の仕様です。そのうち変わるかもしれないので、そこはご了承ください。
(知ってる限り、2018.2ぐらいからほとんど変わってない部分なので、そうそう変わらないとは思うけど)

 というか、基本的には、ここに書いてあることの応用です。

 まず前提(下記のパターン1~3共通)として、管理者権限でコマンドプロンプトを起動してください。

image.png

 そして、CD %LOCALAPPDATA%\UiPath します。
image.png

あと、それとは別に、エクスプローラでC:\Users\(ユーザー名)\AppData\Local\UiPathを開いておいてください。

パターン1: とりあえず初回(Community Editionインストール後)

以下のコマンドを実行します。
TaskKill /F /IM UiPath.Agent.exe
TaskKill /F /IM UiPath.Service.UserHost.exe
image.png
 失敗(見つかりませんでした)のエラーが出ることがありますが、気にしなくていいです。

 次に、CD app-xx.xx を入力します。xx.xxは、その時点での最新版のフォルダ(上記エクスプローラーで開いて確認する)です。ベータフィードだと app-xx.xx-bata000 みたいな形式の可能性がありますが、その場合もその通りに入力してください。
image.png

 うまくディレクトリを移動できたら、UiPath.Service.Host installを実行します。

image.png
 うまくいくとこんな感じになります。

 あとは、Windowsのサービス管理を立ち上げて、UiRobotSvcがインストールされていることを確認し、
image.png
 スタートアップの種類は「自動(遅延開始)」に設定してやると良いと思います(自動でそうなってる筈ですが)
 あと、上記手順では初回の起動がされないので、「開始」ボタンを押してやりましょう。特にエラーが出ず起動したら成功です。わーわーぱちぱち。

パターン2: UiPath Community Editionの自動バージョンアップが走ったあと

 ここから先は面倒なのでコマンドしか書きません。一度やったことだからだいたいわかるよねって感じ。

 まず、コマンドプロンプトで、 Net Stop UiRobotSvc して、稼働中のサービスを止めます。

 次に、古いバージョン(現在サービスを稼働させているバージョン)のフォルダにCD app-xx.xx で移動して、UiPath.Service.Host.exe uninstall で登録を解除します。
 最後に、新しいバージョン(更新されたバージョン)のフォルダにCD ..\app-xx.xxで移動して、UiPath.Service.Host install しましょう。(最後の手順から先は、パターン1と同じです)

 上にも書きましたが、自動バージョンアップごとにこの作業を忘れないようにしないと、どんな不具合が出るかわかりません。自己責任でやるんですよ!いいですね!

パターン3: サービスを削除する

 自動起動を使わなくなったとか、パソコンからUiPath Studio Community Editionをアンインストールするとかになったら、この手順が必要です。

 まず、コマンドプロンプトで、 Net Stop UiRobotSvc して、稼働中のサービスを止めます。

 次に、古いバージョン(現在サービスを稼働させているバージョン)のフォルダにCD app-xx.xx で移動して、UiPath.Service.Host.exe uninstall で登録を解除します。要するにパターン2の途中(サービスの削除だけ)で止める感じです。

最後に

 繰り返しますが自己責任でお願いします。ライセンス的にNGな要素はない筈ですが、公式に案内されている使い方じゃないので、何かあったら自分で解決しないといけないYO!

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11