LoginSignup
4
1

【UiPath】パスワード更新ロボの作り方

Last updated at Posted at 2023-12-04

はじめに

  • 本記事では、モダンフォルダのURロボットのパスワード更新ロボの作り方を説明します。
  • クラシックフォルダからモダンフォルダに移行するにあたって、各フォルダのロボット画面でユーザーに任せていたパスワード更新作業がテナントレベルでしかできなくなります。テナント機能へのアクセス権付与が認められない場合、本記事を参考にパスワード更新ロボなど作成するのをお勧めします。
  • 記事の内容は、個人の見解または確認結果であり、UiPath の公式見解ではありません。
  • 製品仕様や参考画像は System.Activities 22.4.5 / WebAPI.Activities 1.11.1 のもので構成しています。

UR のパスワード更新ロボの作り方

最初にパスワードを指定するために入力ダイアログを配置・設定します。

パスワード更新ロボ1.JPG

「Orchestrator へのHTTP要求」アクティビティを配置し、次のエンドポイントを値に指定します。こちらはOCに接続中のユーザー情報を取得できるエンドポイントです。

"/odata/Users/UiPath.Server.Configuration.OData.GetCurrentUser?%24select=Id%2CMayHaveUnattendedSession"

パスワード更新ロボ2.JPG

OC接続中のものに限らず、任意のユーザー情報を取得したい場合は次の様にフィルタなどして取得します。
メソッド:GET エンドポイント:“/odata/Users?%24filter=contains(UserName%2C’★アカウント名’)”

Id は応答コンテンツを逆シリアル化し、できたJSONオブジェクトから簡単に取得できます。
(例)
 URobotId = 応答コンテンツのJオブジェクト.item("Id").ToString

パスワード更新ロボ3.JPG
パスワード更新ロボ4.JPG

次に、Id を指定して、更新対象のユーザー情報をフルで抜きます。

パスワード更新ロボ5.JPG

更新対象となる Unattended Robot のフィールドを値操作したいので
応答コンテンツを逆シリアル化 → 応答コンテンツのJオブジェクト
応答コンテンツのJオブジェクト.item("UnattendedRobot").ToString を逆シリアル化 → URのJオブジェクト

をつくっておきます。

パスワード更新ロボ6.JPG

あとは、「URのJオブジェクト.item("Password")」(左辺)に入力ダイアログで値指定した「新しいパスワード」(右辺)を代入し、応答コンテンツのURフィールドを上書きすれば準備完了!

パスワード更新ロボ7.JPG

いよいよパスワード更新です。次の情報を指定して処理を実行します。
JSONペイロード:パスワード情報を上書きした応答コンテンツ
エンドポイント:/odata/Users(Id)
メソッド:PUT

パスワード更新ロボ8.JPG
パスワード更新ロボ9.JPG

PATCH メソッドをもちいる場合、JSONペイロードは以下のみで更新できますが、ロボットアカウントに対しては利用できません。(PUT メソッドはユーザーアカウントとロボットアカウントともに更新可能です。)
"{""UnattendedRobot"":{""Password"":"""+新しいパスワード+ """}}"

さいごに

ユーザーが入力したパスワードが意図せずログ出力されるのを避けるために、パスワードの入力ダイアログや代入、OC へのHTTP要求アクティビティの 「プライベート」オプションのチェックは忘れずにONにしましょう!

パスワード更新ロボ10.JPG

以上 最後までお読みいただきありがとうございますm(_ _)m

4
1
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
4
1