10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【RPA】Power Automate for Desktop をWindows11で無料・安定して定期実行する方法

10
Posted at

1. はじめに

Power Automate for Desktop(以下PAD)で、
デスクトップ操作を自動化して、定期実行したいというニーズは高いと思います。
私も下記の記事のように、ファンダメンタルズ分析の情報収集でPADを定期実行しています。

自動化に関する同様の記事は複数見かけられますが、
記事が古くWin10環境だったり、Win11環境の設定変更の記載がなかったり、有料版の利用を想定していたり、
実際にやろうとすると戸惑うことも多いと思いますので、
備忘録として記事に残します。

PADの操作方法やタスクスケジューラの設定方法などは記載しません。
定期実行を構築するときの注意事項や迷いそうなところを重点的に記載します。

2. 実行環境

下記環境で構築しました。

  • OS : Windows 11 Pro
  • バージョン : 25H2
  • RPAツール:Power Automate for Desktop MSI版(無償)
  • 定期実行ツール:BATファイル + タスクスケジューラ(もちろん無償)

3. Power Automate について

ここでPower Automate の種類についてご説明します。
企業内利用でしたら多くの派生種類があると思いますが、
個人利用では大きく分けて3種類あります。

(1) Power Automate(クラウドフロー)

  • Webブラウザで作るフロー
  • 定期実行(スケジュールトリガー)可能
  • 有償(Microsoft 365に一部含まれる場合あり)
  • RPA(PAD)を呼び出すことも可能(要環境構築)

(2) Power Automate for Desktop ストア版

  • Microsoft Store から入る PAD
  • Windows 11 に標準で入っているのがコレ
  • 無償
  • 個人利用・PoC向け
  • MSI版に比べると自動更新されるため挙動が変わりやすく、一部の高度な設定(サービス実行など)がやりにくい

(3) Power Automate for Desktop MSI版

  • Microsoft公式サイトからDLしてインストール
  • 無償
  • 業務利用・定期実行・PoCではこちらが本命
    【特徴】
    • 自動更新されない(=安定)
    • タスクスケジューラとの相性が良い
    • サービス実行/レジストリ設定などが可能

上記(1)をご利用の場合は、定期実行できる環境が整っていますので、そちらをご利用ください。
Windows 11環境では、上記(2)のストア版がデフォルトでインストールされていますが、
定期実行や業務利用を行う場合は上記(3)のMSI版への切り替えが実質必須となります。

ストア版とMSI版、どちらを使用しているのか分からない場合は、
PADの実行ファイル"PAD.Console.Host.exe"の有無をご確認ください。
MSI版の場合は、下記のようにCドライブに実行ファイルがあるはずです。

例)
C:\Program Files (x86)\Power Automate Desktop\dotnet\PAD.Console.Host.exe

4. Power Automate for Desktop MSI版 の導入

ストア版がインストールされている場合は、
MSI版へインストールし直しましょう。
MSI版のインストーラーはMicrosoftの公式ホームページから入手しましょう。

公式ホームページにも記載の通り、
ストア版とMSI版、両方のバージョンをインストールすることはサポートされていません。
かならず、ストア版をアンインストール後に、MSI版をインストールしましょう。

ここで、すでにストア版でPADフローを作成していた人は、
「え...アンインストールするの?作成済みのフローが消えない?大丈夫?」と心配になると思います。
私はもの凄く心配になりました。実行前にたくさん調べました。
結果、心配無用です。
ストア版を使用するときMicrosoftアカウントでログインしていれば、
作成したフローはクラウド(Dataverse)に保存されています。
MSI版をインストールして同じアカウントでログインすれば、自動的にフローが同期されます。

※ なお、Microsoftアカウントへログインせずに、ローカルモードで作成したフローについては、アンインストール時に削除される可能性があるため注意してください。

ストア版のアンインストールは「プログラムの追加と削除」で通常の手順で行います。
MSI版のインストール手順は、難しいところは全くないので、ここでの説明は省きます。

5. 定期実行用バッチファイルの作成

タスクスケジューラでPADフローのタスクを直接起動することはできません。
PADフローを実行するバッチファイルを作成し、
下記のようにタスクスケジューラで定期実行します。
タスクスケジューラ.png

定期実行用バッチファイルに下記のように記載するとPADフローを実行できます。

run_myflow.bat
"C:\Program Files (x86)\Power Automate Desktop\dotnet\PAD.Console.Host.exe" ^
"ms-powerautomate:/console/flow/run?workflowId=<フローID>"

上記の"PAD.Console.Host.exe"のパスが必須なため、MSI版が必要になります

<フローID>はPADのフローのプロパティで入手してください。

PAD.png

6. 確認ダイアログを消すレジストリ設定

定期実行用バッチファイルをただ実行しただけでは、
下記のような確認ダイアログが表示されてしまいます。

ダイアログ.png

せっかくタスクスケジューラで定期実行しても、
「続行」を押さないと実行されないのは意味がないですよね。
そこで、レジストリに下記を追加します。

レジストリ.png

  • 場所: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Power Automate Desktop
  • 名前: EnableAskBeforeRunningAFlowExternally
  • 種類: DWORD (32ビット)
  • 値: 0

これで確認ダイアログが非表示となります。

:warning:【注意事項】(自己責任)
確認ダイアログを非表示にするレジストリ設定は、
自動実行を安定させるために有効ですが、
操作確認を省略する分、誤操作がそのまま実行される可能性があります。

内容を理解した上で、テスト用途や個人利用など、
影響範囲を把握できる環境でのみ使用してください。

7. まとめ

Power Automate for Desktop を Windows 11 環境で無料かつ安定して定期実行する方法をまとめました。

  • ストア版ではなく MSI版 を使用すること
  • PAD.Console.Host.exe を用いたバッチファイル経由で実行すること
  • タスクスケジューラと組み合わせること
  • 必要に応じて確認ダイアログを抑止するレジストリ設定を行うこと

特に Windows 11 では、標準でストア版がインストールされているため、
「なぜ定期実行がうまくいかないのか」で悩むケースが多いと思います。

本記事が、同じように試行錯誤している方の助けになれば幸いです。

10
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?