自分を活かして 相手を活かして 今を活かす

【解決】Power Automateでデスクトップフローを呼び出そうとしたときに予期せぬランタイムエラーが発生してしまった件について

こんにちは、おかちゃんせんせいです!

Power Automate(PA)で、突然予期せぬランタイムエラーが発生するように。
ネットで検索しても全然ヒットしなかったため、備忘も兼ねてブログに書き残すことにしました。

◆お知らせ◆

【まとめ記事】

現在、これまで書いてきた記事をテーマ別にまとめています。

詳しくはこちらから

【解決】Power Automateで予期せぬランタイムエラーが発生してしまった件について

現象

PAのクラウドフローからPower Automate Desktop(PAD)のデスクトップフローを呼び出すところで、下記エラーが発生してしまいました。

アクション ‘デスクトップ用_Power_Automate_で構築したフローを実行する’ に失敗しました: ランタイム エラー: 種類 ‘Microsoft.Flow.RPA.Desktop.UIAutomation.WebAutomation.Core.WebExtensionsBrowser.WebBrowserProcessExitedException’ の例外がスローされました。

今までは発生していなかったのに突然発生するようになり、アクションや接続情報などを作り直したり、再起動を試したりしましたが、エラーが解消される様子はなく。。。

エラーコードで検索してみても何もヒットしないので、Microsoftのサポートセンターに問い合わせしようかと考えたときに、一つだけで原因として思い当たることがありました。

原因

まず、今までは正常に動いていたという場合に疑わなければいけないのは、正常に動いていた時と現時点との違い。

言葉を言い換えれば、
何か設定を変えたりしていないか?
ということがポイントとなります。

今回のケースでは、2段階認証が必要なアプリに対して認証できるように、事前にGoogle Authenticatorを拡張機能としてChromeにインストールしていました。

必要な処理なので省くことができなかったため、はなから原因の候補として度外視していましたが、、、

何か設定を変えたとしたら、Google Authenticatorをインストールしたことぐらいでしたので、試しにアンインストールしたところエラーが出なくなりました。

解決策

一応エラー自体は解消できたものの、Google Authenticatorは処理の過程で必須なため、なんとかしなければなりませんでした。

そこで苦肉の策として考えたのが、
2段階認証が必要な処理とそれ以外の処理で分けること

そして、それぞれで実行するChromeのプロファイルを分けて実行すること
プロファイルを分けておくと、例えばタスクバー上にプロファイルごとのアイコンが表示されるようになります(下図赤枠)。


※プロファイルについて認識がない方は、下記記事を参考に。

ここでポイントとなるのは、
どうやってPAのクラウドフローからPADのデスクトップフローを呼び出し、Google Authenticatorで2段階認証を自動的に認証させるのか?
ということ。

そこで自分が考えたのが、
PADを実行した際に初期起動するプロファイルにはGoogle Authenticatorをインストールせず、別のプロファイルにGoogle Authenticatorをインストールしておくこと。
その後の流れは、下記の通りです。
※仮に、初期起動するプロファイルをA、別のプロファイルをBとします。

  • PAからPADのデスクトップフローを呼び出す
  • Chromeを起動するとAのプロファイルでChromeが立ち上がる
  • その後、2段階認証が必要な処理はBのプロファイルとしてChromeを起動させる

③でBのプロファイルを起動する方法はいくつかあると思うのですが、PADでURLを指定して起動させる方法は調べてもよくわからなかったため、下記手順で構築しました。

<事前準備>
Bのプロファイルをタスクバーに固定しておく。

<Bのプロファイルを開く>
①「画像へマウスを移動する」アクションを設定。
②タスクバーに固定したBのプロファイル用のアイコン(下図)を、対象の画像として設定する。


③見つかった場合にクリックする設定にしておく。

(追記:2024年7月26日)
タスクバーをクリックする方法以外に、異なるプロファイルを実行する方法がわかりましたので追記いたします。

まず、起動したいプロファイルのショートカットを用意します。
その上で、右クリックを押して、リンク先にある下図の赤枠部分がコマンドライン引数になります。

–profile-directory=”Profile 2″

※それ以外の部分がアプリケーションパスです。


Power Automate Desktop上で「アプリケーションの実行」アクションを追加し、
・アプリケーションパス
・コマンドライン引数
・作業フォルダー
の3つを最低限して、『保存』することで指定したプロファイルでChromeを起動できます。

設定する項目については、上述でショートカットのプロパティに表示されているので、必要な部分をコピペするだけでOKです!

おわりに

今回のエラーの原因は、
Chromeの拡張機能Google Authenticatorをインストールしたこと
でした。

解決策はスマートではありませんが、専門知識がなくてもできる方法ではあるので、一旦は解決策として採用することにしました。
とはいえ、プロファイルの使い分けをURLで指定できれば一番スマートだと思うので、もしその方法をご存じの方がいれば是非ご教示ください。


この情報が何かお役に立てば幸いです。



最後まで読んでいただき、ありがとうございました!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA