Power Automate for desktopの確認ダイアログを非表示にする方法|URL・ショートカット実行を制御

Power Automate for desktopの確認ダイアログを非表示にする方法|URL・ショートカット実行を制御

Power Automate for desktopのデスクトップフローを、URLやデスクトップショートカットから起動すると、次のような確認メッセージが表示されることがあります。

毎回確認する必要がない場合は、Power Automate for desktopの設定画面やWindowsのレジストリを変更することで非表示にできます。

組織で利用するPCでは、管理者が確認ダイアログを強制的に表示したり、URLやショートカットからの実行自体を禁止したりすることも可能です。

この記事では、次の設定方法を紹介します。

  • 現在のレジストリ設定を確認する
  • 確認ダイアログを非表示にする
  • 確認ダイアログを表示する
  • 管理者が確認ダイアログの表示を強制する
  • URLやショートカットからの実行を禁止する

この記事では、設定画面から変更する方法と、GitHubで公開しているスクリプトを使う方法を紹介します。

本スクリプトはMicrosoftの公式ツールではありません。利用前にコードと設定内容を確認し、ご自身の責任で使用してください。

注意

設定方法の違い

確認ダイアログを変更する方法は、大きく3種類あります。

設定方法対象管理者権限主な用途
Power Automate for desktopの設定画面現在のWindowsユーザー不要個人のPCで表示・非表示を切り替える
ユーザー単位のレジストリ設定現在のWindowsユーザー不要PowerShellなどで設定を自動化する
コンピューター単位のレジストリ設定PCを利用するすべてのユーザー必要管理者が表示を強制、または外部実行を禁止する

個人PCで設定を1回変更するだけなら、PADの設定画面を使う方法が簡単です。複数PCへの設定や、設定状況の確認を自動化したい場合はPowerShellが便利です。

設定画面から確認ダイアログを非表示にする

一番簡単でシンプルな方法はPower Autoamte Desktopの設定画面から変更する方法です。

設定メニューの少し下の方にある、「フローを外部から呼び出すときに確認のダイアログを表示する」のチェックを外すことで、確認メッセージを非表示にできます。

再び表示したい場合は、同じ項目にチェックを入れることで表示されます。フローが意図せず起動されることを防ぎたい場合などにおすすめです。

PowerShellスクリプトをダウンロードする

設定用スクリプトはGitHubで公開しています。

GitHubの画面で CodeDownload ZIP を選び、ダウンロードしたZIPを展開します。ZIP内から直接実行せず、すべてのファイルを同じフォルダに置いたまま使用してください。

一般利用者は、PowerShellファイルを直接実行するのではなく、日本語連番の .bat を使う方法がおすすめです。

日本語ランチャーの使い方

最初に 01_現在の状態を確認.bat をダブルクリックし、変更前の設定を確認します。

ファイル権限処理内容
01_現在の状態を確認.bat通常ユーザー設定と端末全体の設定を確認する
02_ユーザー設定で確認ダイアログを出さない.bat通常現在のユーザーの確認ダイアログを非表示にする
03_ユーザー設定を解除して既定動作へ戻す.bat通常現在のユーザー設定を削除して既定動作へ戻す
04_管理者設定で常に確認を出す.bat管理者確認ダイアログを端末全体で強制表示する
05_管理者設定の常時確認を解除.bat管理者強制表示設定を解除する
06_外部実行禁止の状態を確認.bat通常端末全体の外部実行設定を確認する
07_管理者設定で外部起動を禁止.bat管理者外部からのフロー起動を端末全体で禁止する
08_管理者設定の外部起動禁止を解除.bat管理者外部実行禁止を解除する

管理者権限が必要な操作ではUACが表示されます。UACをキャンセルした場合、設定は変更されません。

すべての実行結果は、スクリプトと同じ場所に作成される logs フォルダへ保存されます。

設定変更後はPADを終了して再起動し、もう一度 01_現在の状態を確認.bat を実行してください。

レジストリの設定の種類

レジストリのパスはいずれも次の場所です。

SOFTWARE\Microsoft\Power Automate Desktop

HKEY_CURRENT_USER は現在サインインしているユーザーに対する設定です。

HKEY_LOCAL_MACHINE はPC全体に対する管理者設定であり、変更には管理者権限が必要です。

レジストリで設定する値や内容は下記です。

レジストリ値設定場所動作
EnableAskBeforeRunningAFlowExternallyHKEY_CURRENT_USER0確認ダイアログを表示しない
ConfigureExternalRunsHKEY_LOCAL_MACHINE1確認ダイアログを常に表示する
ConfigureExternalRunsHKEY_LOCAL_MACHINE2URL・ショートカットからの実行を禁止する

端末全体の ConfigureExternalRuns は、ユーザー単位の設定より優先されます。

  1. ConfigureExternalRuns = 2:外部実行を禁止
  2. ConfigureExternalRuns = 1:確認ダイアログを強制表示
  3. ConfigureExternalRuns が未設定:ユーザー設定またはPADの既定値に従う

現在の設定を確認する

01_現在の状態を確認.bat は、ユーザー設定と管理者設定の両方を確認し、最終的な動作を判定します。

確認ダイアログを非表示にしている場合は、次のように表示されます。

=== 判定結果 ===
確認ダイアログ:表示されない設定です
理由:HKCUのEnableAskBeforeRunningAFlowExternally=0です。

64ビットOSでは、64ビットと32ビットの両方のレジストリ ビューを表示します。必要な値を読み取れなかった場合は「未設定」とは判定せず、「判定不能」としてエラーを表示します。

PowerShellから直接確認する場合は、DialogCheck.ps1 を実行します。

.\DialogCheck.ps1

現在のユーザーだけ確認ダイアログを非表示にする

02_ユーザー設定で確認ダイアログを出さない.bat を実行します。

この操作では、現在のユーザーに次の値を設定します。

HKCU\SOFTWARE\Microsoft\Power Automate Desktop
EnableAskBeforeRunningAFlowExternally = 0

PowerShellから直接設定する場合は、DialogOff.ps1 を実行します。

現在のユーザー設定を既定動作へ戻す

03_ユーザー設定を解除して既定動作へ戻す.bat を実行します。

この操作では、EnableAskBeforeRunningAFlowExternally1 を設定するのではなく、値を削除してPADの既定動作へ戻します。

PowerShellから直接設定する場合は、DialogOn.ps1 を実行します。

管理者設定で ConfigureExternalRuns = 1 または 2 が設定されている場合は、管理者設定が優先されます。

管理者が確認ダイアログを強制表示する

04_管理者設定で常に確認を出す.bat を実行し、UACを承認します。

HKLM\SOFTWARE\Microsoft\Power Automate Desktop
ConfigureExternalRuns = 1

この設定では、確認ダイアログが端末全体で強制表示され、ユーザーがPADの設定画面から変更できなくなります。

[画像:管理者設定によって変更できないPADの設定画面]

解除するときは、05_管理者設定の常時確認を解除.bat を実行します。このランチャーは、現在値が 1 の場合だけ値を削除します。現在値が 2 の場合は、外部実行禁止を誤って解除しないよう変更せずに終了します。

PowerShellから直接操作する場合は、設定に DialogOnAdmin.ps1、解除に DialogOffAdmin.ps1 を使用します。

URL・ショートカットからのフロー起動を禁止する

07_管理者設定で外部起動を禁止.bat を実行し、UACを承認します。

HKLM\SOFTWARE\Microsoft\Power Automate Desktop
ConfigureExternalRuns = 2

設定後は、実行URLやショートカットからフローを起動できなくなります。

[画像:外部実行が禁止されている場合の画面]

現在値だけを確認するときは、06_外部実行禁止の状態を確認.bat を実行します。

禁止を解除するときは、08_管理者設定の外部起動禁止を解除.bat を実行します。このランチャーは、現在値が 2 の場合だけ値を削除します。現在値が 1 の場合は、確認ダイアログの強制表示を誤って解除しません。

PowerShellから直接操作する場合は、確認に DisableExternalRunsCheck.ps1、設定に DisableExternalRunsOn.ps1、解除に DisableExternalRunsOff.ps1 を使用します。

セキュリティ上の注意

確認ダイアログを非表示にすると、追加確認なしでデスクトップ フローが実行される可能性があります。

  • 信頼できない実行URLやショートカットを開かない
  • 共有されたフローの作成者と処理内容を確認する
  • 組織端末では管理者による強制表示または外部実行禁止を検討する
  • レジストリを変更する前に現在値を確認し、必要に応じてバックアップする
  • Issueなどへログを添付する前に、Windowsユーザー名などが含まれていないか確認する

まとめ

個人PCで確認ダイアログを切り替えるだけなら、PADの設定画面から変更する方法が簡単です。

PowerShellスクリプトを使うと、現在値の確認、ユーザー単位の設定、管理者による強制表示、外部実行禁止をまとめて管理できます。日本語連番の .bat を使えば、UAC昇格や結果ログの保存も自動で行われます。

設定を変更するときは、必ず変更前後に 01_現在の状態を確認.bat を実行し、意図した値になっていることを確認してください。

参考情報

コメントを残す

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

CAPTCHA