Blue Prism (ブルー プリズム) を操作していて、いろいろ試してみたけれど、どうしても "Attach ( アタッチ )"ができない!ということがあるかもしれません。もしかしたらそれは、管理者権限でないと動かないアプリケーションかもしれません。
今回は、管理者権限でないと動かないアプリケーションをBlue Prismで操作する方法についてまとめていきます。
"アタッチ"のおさらい
Blue Prismでアプリケーションを操作するには、オブジェクト内で最初に「アタッチ」というアクションをします。これから操作する対象の画面はコレだよ!と、Blue Prismに認識させるお作法です。
通常は、プロセス名(iexploreなど)とウィンドウタイトルを指定してアタッチします。
うまくいかない時は、ウィンドウタイトルの確認や「child index」「プロセスID」を指定するなどの試行錯誤をします。それでもうまくいかず、メッセージ「Internal : Failed to perform step 1 in Navigate Stage 'アタッチ' on page 'アタッチ' - Could not open target process -」が表示されてしまう時は、対象のアプリケーションが管理者権限のみでしか動かないアプリケーションではないか、確認してみてください。
もし、管理者権限のみでしか動かないアプリケーションの場合には、操作側のBlue Prismも管理者権限で起動する必要があるのです。
Blue Prismをどのように管理者権限で起動するのか、みていきたいと思います。
Blue Prism を管理者権限で起動するための設定
実行端末でBlue Prism のアイコン、もしくはBlue Prism起動exeファイルを右クリックしてプロパティを開きます。
Blue Prismの起動exeファイルのパス:
C:\Program Files\Blue Prism Limited\Blue Prism Automate\ Automate.exe
タブ「互換性」で「管理者としてこのプログラムを実行する」にチェックをつけて「適用」ボタンを押してください。(図2参照)
設定後、Blue Prismを起動し、対象のアプリケーションにアタッチできた場合は、原因解明成功です!
ただし、管理者権限でしか操作できないアプリケーションの場合には、確認すべきことがあります。
運用方法の確認
Blue Prismの運用方法のうち、
▶ 実行端末を毎日シャットダウンし、起動時はWindows「スタートアップ」でBlue Prismを自動起動する
という運用方法の場合、もう一つ必要なステップがあります。
実は、Windows「スタートアップ」では管理者権限のアプリケーションを自動起動ができないのです。
そこで、Windows「タスクスケジューラ」の出番となります。
Blue Prism を管理者権限で自動起動するには、タスクスケジューラを使う
タスクスケジューラを起動します。
Windowsタスクバーのスタートメニュー > Windows 管理ツール>タスクスケジューラを選択
続いて、「タスクスケジューラ」画面のウィンドウの「操作」パネルより新規で「タスクの作成」を行います(図4)。
タスクスケジューラウィンドウの「操作」パネル > タスクの作成を選択
タスクの作成を選択後、新規作成画面(図5)が表示されるので、タブ「全般」から「設定」までを順に設定しましょう。
タブ「全般」
「名前」に任意のタスク名を入力し、「最上位の特権で実行する」(=管理者権限)にチェック。
タブ「トリガー」
トリガータブを選択 > 「新規」ボタン クリック > 「タスクの開始(G)」のプルダウンリストから「ログオン時」を選択 > 「特定のユーザー」を選択。
タブ「操作」
操作タブを選択 > 「新規」ボタン クリック > Popup「新しい操作」画面の[操作=プログラムの開始]を選択 > 「参照」で前述のBlue Prismの起動exeファイルを指定。(図8)
その他のタブ、「条件」「設定」を適宜設定し実行端末を再起動します。
管理者権限でBlue Prismが起動されたことを確認しましょう。
Blue Prism の起動を管理者権限で行う設定をした時の注意点
Windowsでは、管理者権限をもつプロセスから起動されたプロセスは、同様に管理者権限をもちます。
つまり、上記設定を実施した実行端末(ランタイムリソース)上で、Blue Prismからアプリケーションを起動する際は、管理者権限のある状態で起動される点に留意しましょう。(アプリケーション固有のユーザーIDやパスワードの認証処理を経由する場合は除きます。)
まとめ
アタッチがどうしてもできない場合は、管理者権限でないと動かないアプリケーションかを確認してみましょう。
そして、管理者権限でないと動かないアプリケーションをBlue Prismで操作する場合には、Windowsタスクスケジューラを使ってBlue Prismを管理者権限で自動起動するようにしましょう。