バックグラウンドプロセスをUnattended Robotで実行するとマッピングされたネットワークドライブ上のフォルダが参照できない

:grey_question: Question

Windowsの「ネットワーク ドライブの割り当て」でマッピングされたネットワークドライブ上のフォルダを参照するプロセスを実行すると「フォルダーが見つかりませんでした」エラーが発生します。

エラーメッセージ(例):

Z:\FolderX\FolderY' の一部が見つかりませんでした。

:bulb: Answer

原因

バックグラウンドプロセスをUnattended Robotで実行した場合、マッピングされたネットワークドライブが参照できない事象が報告されております。

以下の例に示すように、それ以外の組み合わせでは問題なく参照できますが、バックグラウンドプロセスとUnattended Robotの組み合わせの場合に参照に失敗します。

フォアグラウンドプロセス バックグラウンドプロセス
Attended Robot
Unattended Robot ×

解決策1

マッピングしたフォルダパスではなく、ネットワークドライブのフルパスで指定して参照できるかお試しください。

例えば、“Z:\FolderX\FolderY"の指定の代わりに”\ServerName.…\FolderX\fFolderY"と指定します。

マッピングされたドライブが参照しているフルパスは以下の手順で調べることができます。

  1. ロボット端末において、コマンドプロンプトを開きます。
  2. 以下のコマンドを実行し、ドライブが参照しているフルパスを取得します。
    net use [ドライブ名]:
    (例えばドライブ名に「Z:」と割り当てているネットワークドライブを調べる場合は “net use Z:” となります。)
  3. リモート名(又はRemote name)の項目に出力されるパスが、"Z:"が参照しているフルパスです。

解決策2

v2021.10 のリリースより、サービスモードでデプロイされたRobotでUnattended Robotでバックグラウンドプロセスを実行すると、既定ではOrchestratorに設定したWindows資格情報が使用されず、Windows組み込みのローカルサービスアカウント下で実行されます。

この場合、ネットワークドライブを参照する際に権限がなくエラーとなる場合があります。

ネットワークドライブが参照できるWindowsアカウントでプロセスが実行されるように、以下の設定をしてお試しください。

  1. ロボット端末において、環境変数の設定画面を開きます。
  2. システム環境変数に、以下の項目を追加します。
    環境変数名:UIPATH_HEADLESS_WITH_USER
    値:True
  3. ロボットサービスを再起動します。

参照:

「バックグラウンド プロセスを実行する」