UiPath Community EditionでUnattendedロボットを動かす

# はじめに
UiPathで作成したロボットを全自動(Unattended)で挙動をCommunityライセンスで確認する方法がないかと思い、調査しました。

普通にCommunityEditionだけだと、UiPath Robotのインストールがユーザモードとなり、サインアウトしているときなどにUnattendedが実行できません。（後述）

なので、サインアウト時もUnattendedロボットが実行できる環境を確認しました。

わかりにくい部分などがありましたらご指摘いただけると幸いです。

# 前提
## UiPath製品
UiPath Community Cloud Orchestrator / Version わからず
UiPath Studio Enterprise Edition / Version 19.10.4

※　CommunityライセンスでUnattendedロボットを起動するにはStudio(Robot)がEnterprise版である必要があります。
※　Community版のStudioではユーザーモードでのインストールとなり、Unattendedロボットを起動させることはできません。
※　UiPathの利用規約に従ってください。利用規約に反した利用については、当方は責任を負いかねます。

> ユーザーモードとサービスモードについて
https://docs.uipath.com/robot/lang-ja/docs/robot-service

## 稼働確認するロボット
画面キャプチャして保存するだけのロボット。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/ce4bb2f2-3dca-6d62-4e4c-56de905ec83c.png)

- 20秒待機（待機しないとUnattended実行のときにスクリーンショットが取得できないため）
- 画面全体のスクリーンショットを撮る
- 日時つきのファイル名で保存する

## Orchestratorの言語は英語
日本語にする場合は読み替えてください。

# Orchestratorと自PCのUiPath Robotを接続する手順
## UiPathにアカウントを作成

### ライセンス説明サイト内でCommunity Cloudの「Try it」を選択してアカウントを登録
ライセンス説明サイト
https://www.uipath.com/ja/start-trial

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/31bc6068-5728-65ab-c7fb-f2a671506a30.png)


### 登録する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/a09f2bcb-3d17-d36d-9f80-252d333fe2f9.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/4ab1e76f-bbbe-da23-fe20-0496993d9f40.png)

アカウント作成方法はどれでもいいので、とりあえず登録


## UiPathOrchestratorにサインイン
### アカウントを作成したらサインインする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/47115b5d-b909-c625-1fed-d9e0cc30d874.png)

## UiPath Studio Enterpriseのmsiファイルをダウンロード
### Resource Centerの左側メニューからEnterprise Edisionのmsiファイルをダウンロード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/d6a42a5d-cccb-c80b-8323-d7d7ad6a0d25.png)


## msiファイルでインストール
### msiファイルを開き、インストール（特に迷わずそのまま進む）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/7dca4518-690b-2236-6d35-d5fa22d715ad.png)


### Orchestratorを開く
インストールが完了したらOrchestratorを開く
### UiPathのポータルで表示されるOrchestratorサービスを選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/02b196aa-94ae-fb4a-79af-338cc21213be.png)

### こんな画面になる(2020年5月時点)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/07590d66-bf9d-df4e-d864-46f43feffd6d.png)

※　イメージではジョブの挙動確認済みのため、いくつかデータがはいっちゃってます、、

## マシンを作成
### 左側のMACHINESメニューを選択して右上にある＋ボタンを押す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/8ca17e13-16f6-af04-0b5f-70f55b005857.png)


### 出てくるボタンのうち、一番左の「Standard Machine」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/4c5b23e7-e928-b07c-4911-0e7ae0d84633.png)


### Nameに自分のPC名を入力する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/babcd0b1-d53d-89c2-d937-d79be9136f0f.png)

※ わからないば場合は後述するPCのOrchestrator設定で確認可能。もしくは、コマンドプロンプトでwhoamiコマンドを打つと、PC名\ユーザ名が出てくるため、PC名のみを入力する
※ Unattended Runtimeは1にする


### Provisionを選択

## ロボットを作成する
### ROBOTSメニューに移動し右上の＋ボタンを押す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/d2d16f79-ae86-1ee4-64a1-ca6fde4f1851.png)

### Standard Robotを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/db830743-125c-883b-5a37-8b554d5c8eaa.png)

### ロボット情報を入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/b0e50740-64f4-7989-0fb8-f70f68abc9aa.png)

- Machineには先ほど作成したMachine名
- Domain\Usernameには、コマンドラインのwhoamiの結果そのまま
- PasswordにはOSパスワードを入力

## ロボットグループ(Environment)を作成
### ROBOTSメニューに移動し、上部のEnvironmentsタブを選択し、右上の＋ボタンを押す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/48424fd0-f1c5-bee9-4a9a-b4169c2b7007.png)

### 適当な名前を入力してCREATE(grp-testなど)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/9a4bdac7-d531-26db-6521-7020b3a0acff.png)

### 作成されたグループの右の・・・メニューからManageを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/afb95519-898e-d9b5-47b3-3ebfe03f46cf.png)

### 先ほど作成したロボットにチェックを入れてUPDATE
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/c56a25e7-976c-e1e7-760f-c39c1555af24.png)


## PC側でUiPath Robotを起動
### スタートメニューから起動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/526faf66-c720-a081-6fa1-b8ce6542eaf5.png)


## マシンキーとOrchestratorURLを設定
### タスクバーの^からUiPathのアイコンを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/3a373412-1ded-70ce-9306-cd84760a4319.png)


### 起動したトレイの右上の設定ボタンを押し、メニューからOrchestratorの設定を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/7228c783-a784-90ee-15a5-db487c113b99.png)


### Orchestrator URLを入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/d9160924-c8f1-9d4b-ff46-cf06bb251103.png)


※　URLはOrchestratorを表示したときに表示されている以下のURLを入力

    https://platform.uipath.com/[ユーザの性]/[ポータルで選択するOrchestratorの名称]

:exclamation: ここで表示されているマシン名は、OrchestratorのMachinesで登録するマシン名と同一である必要がある

### マシンキーを入力
マシンキーはOrchestratorのMachines画面から取得可能

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/3a6c5063-364c-9934-2a8d-39bb1d51b3c1.png)

※　マシン名の右側のコピーアイコンを押すとコピー可能

### 接続ボタンを押す
設定が正しければステータスが「接続中、ライセンス済み」と表示される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/77ab5c76-f09a-515a-758d-b0a019015bac.png)



## 接続に問題がなければOrchestratorのRobotのSTATUSがAvailableと表示される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/64c0a65a-549f-b101-f9ae-d540ab2bcda0.png)

以上で、Unattended実行できる環境が整いました。
パッケージのパブリッシュとプロセスの登録をします。


# Unattendedのジョブを実行できるようにする手順
UiPath Studioは上記のインストールだと利用できない。（Community CloudではStudio Enterprise Edisonを利用できないため）
そのため、UiPath StudioはOrchestratorと紐づけずに、スタンドアローンのトライアル版を利用する。

## Studioのトライアルを開始する
### 以下のサイトでStudioで「Try it」を選択してアカウントを登録
https://www.uipath.com/ja/start-trial

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/09d87ab2-1663-dd8a-8836-22a1d7ccba2e.png)

### 必要事項を入力してトライアルを開始
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/a0e0def3-b673-c12b-eea3-972cc9f5a38a.png)

## ライセンスキーをメールで受け取る
メールでライセンスキーが送られてくるので、メモしておく

## Studioを起動する
### ライセンスキーを追加を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/729e5d6f-121e-e235-12a5-5bbeed6482bd.png)
※　ライセンスキーの取得を選択するとエラーとなる

### ライセンスキーを入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/dd223cb4-faa5-b0ff-7db7-d1e3529cac36.png)

### Studioが利用できるようになる
利用できるが、Orchestratorと接続していないため、直接パブリッシュではなく、ローカルパブリッシュしてからOrchestrator上に手動でパブリッシュする

### ローカルにパブリッシュする
上部リボンメニューの中からパブリッシュを選択し、パブリッシュ画面で以下のように入力し、パブリッシュボタンを押すと、パッケージがローカルPCに作成される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/f0959433-dbf2-e234-0ece-51d31343ff3f.png)

- パブリッシュ先を「カスタム」
- カスタムURLをパッケージの保存先ファイルパス

## Orchestratorのにパッケージをアップロードする
### OrchestratorのPackagesメニューを選択し、右上のアップロードアイコンを選択し、対象のパッケージをアップロードする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/a4d798eb-8f51-4f8d-16d6-6be71a131fe1.png)

## プロセスを作成する
### PROCESSESメニューを選択し、右上の＋ボタンを押して表示される内容に入力する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/f7080985-a7e4-865d-45b6-5ea5b635b63e.png)

- PackageNameは先ほど登録したパッケージ名
- Environmentは作成したロボットグループ名
- あとは適当でOK

これでやっとジョブ実行する準備ができました。(長い、、)

# ジョブを実行してみる
## メニューからジョブを選択し、右上の再生アイコンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/e284707b-8122-ab3a-ec7c-30ab80ef00d6.png)


## プロセスと実行対象ロボットを指定してSTARTする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/203a28ca-b778-b2bb-bb7f-90b2d9c07902.png)

## ジョブのレコードが一つ追加され、PC上にUiPath Robotのアイコンが出現する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/4f94072f-8092-fa0c-115a-93f34028e064.png)

- UiPath Robotのアイコンが出ている＝Robotが動いているということ

## 出力先にスクリーンショットが作成されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/13a31824-3019-980c-dcf3-450e7ee958eb.png)

# トリガー（スケジュール）の登録
## OrchestratorメニューのTRIGGERSを選択し、右上の＋ボタンを押す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/87b6a8e9-acc5-9c0b-6845-ae8d2584cd9c.png)

## 必要な項目を入力して、ADDを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/c65d7939-91b3-3ee9-69bd-4793aa6e260c.png)


- NameはなんでもOK
- Processは作成したプロセスを選択
- ExecutionTargetは、Specific Robotsにして。対象端末を選択
- 時間は、確認できればなんでもOK（Dailyの何時何分を指定する。Timezoneに注意。JSTも指定可能）

## レコードが作成される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/b128b616-f0f3-6d62-dc9a-47d600d4d2c1.png)


# 挙動を確認する
## ログオフしているとき(電源on/サインアウト)
サインアウトしておき、時間になるまで待機。
結果、正常に稼働。
サインアウト後の画面を見ていたが、普通にログインされ、画面が表示されて、その後サインアウトされた。
実行時間のタイムラグは40秒ほど。（トリガー時間の約40秒後にはじまった）

- 実行結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/d4f7d93b-8838-4cd4-0f21-3c57cfb3d5f8.png)



## ロックしているとき(電源on/サインイン/画面ロック)
違いをわかるようにするために、Excelを開いて起き、時間になるまで待った。
結果正常に稼働。
ロックされた画面を見ていたが、ロボット稼働時にロックが解除されて、処理が終わると再度ロックされた。
実行時間のタイムラグは40秒ほどあった。

- 実行結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/aa385c8f-dd0a-be9c-9267-706d68a290ac.png)


## ロックせずサインイン中のとき(電源on/サインイン)
違いをみえるようにするために、フォルダーを開いておき、時間になるまで待った。
結果正常に稼働。
挙動はいきなりUiPath Robotのアイコンが出現し、処理が終わるといなくなった。
実行時間のタイムラグは30秒ほどあった。

- 実行結果のスクリーンショット
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/6991c515-bede-6923-1970-54a90af7fb41.png)

## OrchestratorのJob画面で実行結果が確認可能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/f6c9cf52-fae4-80c0-fede-d8d2a6150607.png)


# おわりに
CommunityライセンスでもUnattended実行の確認ができました。
参考になれば幸いですが、UiPathの利用規約は守ったうえで自己責任で利用をお願いします。

また、稼働確認しているときにサインアウト時やロック時に画面上でログインして、ロボットが動いたことは、ロボットのConsoleログインするかどうか、などの設定に関わるようです。

その他、Orchestratorの挙動などわからない点が多いので、随時まとめていきたいと思います。