- リリース ノート
- 基本情報
- UiPath Assistant
- インストールとアップグレード
- ロボットの種類
- Robot のコンポーネント
- ライセンス
- Robot を Orchestrator に接続する
- プロセスとアクティビティ
- ログ
- Robot JavaScript SDK
- 特定のシナリオ
- トラブルシューティング
よく発生する Robot のエラー
このセクションでは、ロボットによく発生するエラーの詳細と解決方法について説明します。
現象
Robot が、v2019.2 以前の Studio で作成され、ローカルまたは Orchestrator ではなくオフィシャル フィードまたは Go! フィード上に依存関係があるプロセスを、ダウンロードまたは実行できません。
原因
UiPathStudioSetup.exe
(通常は Community Edition のセットアップ) インストーラーを使用して Studio をデプロイした場合、Robot はユーザー モードでインストールされます。そのため、この Robot がダウンロードおよびインストールできるのは、ローカルまたは接続先の Orchestrator インスタンスにあるプロジェクト依存関係のみです。
解決策 A
すべてのプロジェクト依存関係をオフィシャル フィードから手動でダウンロードし、接続先の Orchestrator インスタンスにアップロードします。
解決策 B
UiPath.Service.UserHost
)。UiPath® Assistant を開き、そこからプロセスを開始します。これで、対応する依存関係が正しくダウンロードされます。
現象
このシナリオでは、Robot はプロセスの実行を開始できず、次のエラーをスローします。
Executor start process failed, reason
System.Runtime.InteropServices.COMException: A specified logon session does not
exist. It may already have been terminated.
原因 A
ロボット端末に十分なリソース (CPU、RAM、ディスクスペースなど) がないため、Robot Executor がプロセスを開始できません。
解決策 A
次を確認または実行します。
- ロボット端末に十分なリソース (CPU、RAM、ディスク スペースなど) があることを確認します。
mstsc
コマンド ライン機能を使用して接続時間が 61 秒以上であることを確認します。60 秒以下の場合はエラーが表示されます。
原因 B
ログオン セッションを作成できません。これは、次の状況で発生する可能性があります。
- 高密度ロボットの [コンソールへログイン] が true に設定されています。この場合、Robot サービスは現在のコンソール セッションにアタッチします。一度にアクティブにできるコンソール セッションは 1 つのみであるため、高密度ロボットには推奨されません。
- スタンドアロンの Windows (サーバーではない) で複数の RDP セッションを使用しています。スタンドアロンの Windows は、マシンごとに一度に 1 つの RDP セッションしか処理できませんが、Windows Server は複数の RDP セッションを処理できます。
解決策 B
この場合、次のいずれかを実行する必要があります。
- [コンソールへログイン] が [false] に設定されています。これは、Robot サービスがロボット端末からそれ自体への RDP 接続を開始し、アタッチすることを意味します。これは、高密度ロボットに推奨される方法です。
- Windows のバージョンを確認してください。Windows Server である必要があります。詳しくは「高密度ロボット用の Windows Server を設定する」をご覧ください。
- 使用している Studio/Robot のバージョンが v2018.1.3 以降か確認します。このバージョンでは、KB4088876 (Windows 8.1 または Windows Server 2012 R2 Standard)、KB4088875 (Windows Server 2008 R2 SP1、Windows 7 SP1)、KB4088787 (Windows Server 2016、Windows 10 バージョン 1607)、および KB4088776 (Windows 10 バージョン 1709) Windows 更新プログラムによって発生した問題が修正されています。詳しくは、「ソフトウェア要件」をご覧ください。
- サーバーのシステム環境変数である
UIPATH_SESSION_TIMEOUT
の値を増やします。既定値は 60 秒ですが、パフォーマンスが低い一部のマシンでは不十分な場合があります。環境変数は秒単位で設定されており、この変数を変更した後は Robot サービスを再起動する必要があります。 - サーバーでリモート デスクトップ ライセンスがアクティブになっているかどうかを確認します。詳細については、こちらのページをご覧ください。
- Robot が適切なグループに属しているかどうかを確認します。ローカル ユーザーは同じリモート デスクトップ グループに属している必要があります。
- ロボット端末への RDP 接続のユーザー名が、構成済みのユーザー名と一致しているかを確認します。このエラーを回避するには、ロボット端末上のすべての RDP 接続をサインオフします。
現象
パスワード フィールドに入力せずに Orchestrator でロボットを作成すると、プロセスの実行を開始できなくなります。また、ロボット端末の権限を変更した場合にもこの問題が発生する可能性があります。
Orchestrator または UiPath® Assistant からプロセスを開始すると、次のエラー メッセージが表示されます。
Executor start process failed, reason System.UnauthorizedAccessException: Access
is denied.
原因 A
ロボットがパスワードなしで作成されました。
解決策 A
こちらの記載に従ってロボットを編集し、次のフィールドが正しく設定されていることを確認してください。
- ドメイン\ユーザー名 - Robot がインストールされている端末への接続に使用しているユーザー名です。ユーザーがドメイン内の場合、
DOMAIN\UserName
形式で指定する必要があります。コマンド プロンプトのWhoami
コマンドを使用すると簡単に見つけることができます。 - パスワード - マシンの Windows パスワードです。Attended ロボットの場合は不要です。
原因 B
SCM で管理された Robot サービスが実行されていません。詳しくは「Robot のデプロイの種類について」をご覧ください。
解決策 B
Robot サービスが実行されていることを確認します。
- Windows の [スタート] ボタンをクリックし、
Services.msc
を検索して開きます。[サービス] ウィンドウが表示されます。 - UiPath® Robot サービスを見つけ、ダブルクリックします。[UiPath® Robot のプロパティ] パネルが表示されます。
- [ログオン] から [ローカル システム アカウント] オプションを選択します。
- [適用] ボタンをクリックしてウィンドウを閉じ、変更を確定します。これにより、Robot サービスが実行されており、プロセスの実行に必要な特権をすべて持っていることが確認されます。
原因 C
ロボット端末に管理者権限がありません。
解決策 C
Orchestrator でロボットを作成した際に使用した資格情報のセットを使用して、ロボット端末にログインします。プロセスが UiPath® Assistant から開始できない場合は、ネットワーク管理者に連絡して、そのユーザー アカウントの管理者権限を許可する必要があります。
現象
プロセスの実行を開始できないことがあります。これは、Robot サービスが実行されているかどうかにかかわらず発生する可能性があります。
Orchestrator または UiPath® Assistant からプロセスを開始すると、次のエラー メッセージが表示されます。
Get settings from service failed, reason System.Exception: Could not connect to
UiPath® Robot Service.
原因 A
Robot サービスが実行されていません。
解決策 A
この場合、次のように、Robot サービスを手動で開始する必要があります。
- Windows の [スタート] ボタンをクリックし、
Services.msc
を検索して開きます。[サービス] ウィンドウが表示されます。 - UiPath® Robot サービスを見つけて、右クリックします。コンテキスト メニューが表示されます。
- [開始] をクリックして、Robot サービスをアクティブ化します。これにより、Windows ログオン時に Robot サービスが開始されます。
ロボット端末が起動するたびにこれらの手順を繰り返す必要がある場合は、以下で説明するように、Windows のサービス タイムアウト値を増やす必要があります。
原因 B
Robot サービスの開始に時間がかかりすぎています。
解決策 B
Windows は、指定された時間内に読み込まれないサービスを報告します。既定では、このタイムアウト値は 30 秒です。これは、Robot サービスには不十分な場合があります。この値を増やすには、次を行います。
- Windows レジストリ エディターを開きます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
レジストリ キーに移動し、Control
サブキーを選択します。ServicesPipeTimeout
の値が使用できない場合は、次のように作成します。Control
サブキーを右クリックし、[新規] メニューから [DWORD (32 ビット) 値] を選択します。空の DWORD 値が新規に作成されます。- 新しい値の名前として ServicesPipeTimeout と入力します。
ServicesPipeTimeout
DWORD 値をダブルクリックします。[DWORD (32 ビット) 値の編集] ウィンドウが表示されます。- [ベース] セクションから [小数] オプションを選択します。
- [値のデータ] フィールドに「180000」を入力します。これにより、
ServicesPipeTimeout
の既定値が 3 分になります。この値は、すべての Windows サービスが適切に読み込まれるのに十分な時間である必要があります。 - Windows レジストリ エディターを閉じ、コンピューターを再起動して、変更を有効にします。
原因 C
ロボット端末の権限が正しくありません。この場合、Robot サービスも実行中と表示される場合があります。
解決策 C
次の手順で、サービスへの権限を Windows レジストリ エディターから付与します。
- Windows レジストリ エディターを開きます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
レジストリ キーに移動します。Control
サブキーを右クリックし、[権限] をクリックします。[コントロールの権限] ウィンドウが表示されます。- [グループ名またはユーザー名] セクションからログインしているユーザーを選択します。
- [権限] セクションで [フル コントロール] の [許可] オプションを有効化します。これにより、Robot に必要な権限が付与されます。
- [適用] と [OK] をクリックして、変更を確認し、ウィンドウを閉じます。
- 変更を反映するために、コンピューターを再起動します。
上記の変更が行えない場合は、ネットワーク管理者に連絡してください。
現象
%UserProfile%\.nuget\Packages
フォルダーに、対応するプロジェクトの .nupkg
ファイルを含むパッケージ バージョンとそれを含まないパッケージ バージョンが既に含まれている場合、Robot が新しいパッケージ バージョンのダウンロードに失敗します。
原因
この問題は、特定のシナリオで発生します。
- v2019.4 以降の Studio/Robot がインストールされている状態で Orchestrator からパッケージをダウンロードして実行します。このパッケージは
%UserProfile%\.nuget\Packages
フォルダーにインストールされ、対応する.nupkg
ファイルが含まれています。 - Studio/Robot の現在のバージョンをアンインストールします。
- v2019.4 以前の Studio/Robot をインストールし、Orchestrator から以前のパッケージをダウンロードして実行します。以前のパッケージは削除されず、新しいパッケージには対応する
.nupkg
ファイルが含まれていません。 - Studio/Robot を v2019.4 以降にアップグレードしてパッケージを再度ダウンロードしようとすると、次のエラーが発生して失敗します。
.nupkg
ファイルが見つからないため、Robot はパッケージをダウンロードできません。
解決策
%UserProfile%\.nuget\Packages
フォルダーから削除し、再度ダウンロードします。
[対話型ワークフローを起動] アクティビティで開始されたワークフローの実行後に、セッションの接続が解除されません。この問題は、Robot を VDI 環境で実行し、[コンソールにログイン] オプションと [セッション接続を保持] オプションが有効化されている場合に発生します。v2018.2 以降、[対話型ワークフローを起動] アクティビティは廃止されている点にご注意ください。
現象
[タスク完了まで待機して再開] アクティビティでデータ テーブルを使用すると、「Exception: Type 'System.Collections.IEnumerable' cannot be serialized. (例外: 種類 'System.Collections.IEnumerable' をシリアル化できません。)」というエラーが表示されます。
原因
DataRow はシリアル化できないため、ワークフローの永続化時に DataRow をシリアル化することができません。この現象は、DataRow 型変数を作成し、その後に待機 (永続化) しようとする場合にも発生します。
解決策
DataRows(System.Data.DataRow) に対してループ処理を行うときに、[フォーム タスクを作成] アクティビティを実行し、タスク オブジェクト (出力) のリストを作成します。
その後、[並列繰り返し (コレクションの各要素)] または [繰り返し (コレクションの各要素)] を使用してタスク オブジェクト (出力) のリストに対してループ処理を行い、[タスク完了まで待機して再開] アクティビティを実行します。