はじめに
UiPath Orchestrator Managerのユーザー作成時に発生するエラーについて、X(Twitter)以外に発信情報が見つかっていなかったので、記事化しました。
https://x.com/TIM02890958/status/1693797390644592648?s=20
オンプレ版OCのユーザーを作成しようとすると、「列29が見つかりません」と表示されるエラーが発生します。
※ちなみにAutomation Cloud版OCのユーザー作成はOrchestrator Managerではできないので、そもそもOrchestrator Managerでユーザー作成しようとした方は同様のエラーに遭遇したのでないでしょうか
本記事ではその原因と対策について記載します。
原因
ワークフロー内の列数設定(30列)が、InputファイルであるExcelファイルの列数(29列)より多いことが原因です(要はプログラム側の問題)。
※Orchestrator Manager2.5.1でもこのエラーは継続中
ワークフローでは以下の箇所でエラーになります。
UserManager.xaml>Switch (User Operation)>Rename Columns (Create User)>Assign ColumnName (Create User)
列数を指定しているのは、変数「ColumnNames」の規定値です。
InputファイルであるExcelファイルと照合すると、"EnableMachineLoginUR"という値に該当する列がExcelファイル側にありません(本来Q列にあるべき)。そのため、列が足りず、また記載した列情報もQ列以降ズレてしまいます。
私が知る限りでは、Orchestrator上でこの設定(URのログイン)をする箇所は見当たりませんし、運用上必要になることもないと思います。
更に、変数「ColumnNames」の規定値とExcelの列を照合すると、もう1つ誤りを発見しました。
変数「ColumnNames」の"Domain"列と "Type"列が、Excelの列順(B列、C列に相当)と逆になっています。
対策
変数「ColumnNames」の規定値とExcelファイルの列において以下2つの不一致を取り除いてあげる必要があります。
- 変数「ColumnNames」の規定値の"EnableMachineLoginUR"について、Excelファイル側にQ列に相当するものがなく、以降の列もズレてしまう
- 変数「ColumnNames」の"Domain"列と "Type"列が、Excelの列順(B列、C列に相当)と逆
すなわち、変数「ColumnNames」の規定値かExcelファイル(ユーザー.xlsx)の列を修正すればOKです。
- 変数「ColumnNames」の規定値を修正する場合:
"EnableMachineLoginUR"を削除し、"Domain"列と "Type"列の順序を入れ替える
または
- Excelファイル(ユーザー.xlsx)の列を修正する場合:
B列「種類」とC列「ドメイン名」を入れ替え、Q列に空列を挿入する
個人的にはExcelファイル修正のほうが楽なのでそちらで実施し、無事にOrchestrator上にユーザー作成をすることができました。
最後に
これはOrchestrator Manager側のバグなので、発行元のUiPath修正を待ちたいところですが、オンプレ版Orchestratorでユーザー作成する機会より、Automation Cloudでユーザーを作成する機会が増えていくので、このバグ対策の需要はあまりないかもしれません。Automaion Cloud側のユーザー一括操作方法については、現在調査しているので、判明次第またQiitaに書きたいと思います。