Microsoft Power Automateを利用したFullWEBでワークフローを実現

第4回 自動実行の定期実行

2024/03/13掲載

はじめに

定期実行に必要な環境

OS

定期処理を望む場合

Windows10/11 Pro

自動実行だけでいい場合

Windwos10/11 Home

サインインするためのアカウント

定期処理や自動実行の共有を望む場

Microsoft組織アカウントでPowerAutomateプレミア(有償)を契約しているアカウント

自動実行だけでいい場合

Microsoft個人アカウント
OneDrive等を利用していれば個人アカウントを持っています。個人アカウントは、無償で簡単な申請で取得できます。

or

Microsoft組織アカウント
会社でOfficeやTeamsを利用している場合は、このアカウントです

参考:Power Automate の価格とサブスクリプション プラン | Microsoft Power Automate)

有償契約しなくても、無償で簡易的に定期処理する方法も最後に示します。

早速、操作してみましょう

操作手順

PowerAutomateの定期実行環境設定1

定期実行はクラウドからコントロールされますので、実行環境の設定が必要です。

  • Power Automate machine runtimeを起動します。
  • PowerAutomate プレミアアカウントでサインインします。

サインインすると、実行中のマシンがPowerAutomateのクラウドに接続されて利用可能となります。

PowerAutomateの定期実行環境設定2

PowerAutomateポータル(クラウド)で設定を確認します。

現在、使用しているマシンがリストされます。

PowerAutomateの定期実行環境設定3

PowerAutomateを外部から実行するときに確認ダイアログを表示しないにします。

定期実行フローを作成1

PowerAutomateポータル(クラウド)で、「新しいフロー」のドロップダウンから、「スケジュール済みクラウドフロー」を選択。

定期実行フローを作成2:実行間隔の設定

実行間隔を設定する画面が表示されるので、夜中に1度実施するのであれば、繰り返し間隔を1日にして、開始時間にAM02:00を指定し、「作成」ボタンをクリックします。

定期実行フローを作成3

定期的に実行するフローを追加します。
(1)「+」記号クリック
(2)「アクションの追加」選択

(3)左パネルから、「Desktop flows」選択

(4)表示されたDesktop flowsをクリックして追加

定期実行フローを作成4:実行内容を設定保存

PowerAutomateで前回作成した、
“検索とCSV出力”フローを設定します。
(1)Desktopフローのドロップダウンから前回作成した“検索してCSV出力”のフローを選択
(2)実行モードに「アテンド型(サインイン時に実行)」を選択
(3)詳細パラメータは、「すべてを表示」ボタンをクリック
(4)優先度は、「標準(規定)」を選択
(5)「保存」をクリック

定期実行フローを作成5:テスト実行

作成したフローを定期実行する前に、正しく動作するかテストします。
(1)「テスト」をクリック

実行時に経過時間が表示されます。

定期実行フローを作成6:定期実行を設定

最後に、定期実行を設定します。
「▷実行」をクリックします。

注意点

実は、何度も失敗したのが、この接続の設定でした。
成功した接続設定は以下です。(※環境で変わる可能性あり)

  • Connectには、「Connect with username and password」を選択
  • Machine Or Machine Groupは、ドロップダウンから自分のマシンを選択
  • Domain And Usernameには、WindowsのCMD窓でwhoamiを実行して、表示されるユーザ名とドメイン名を設定
  • Passwordはそのログイン使用したもの

★定期実行時に、接続マシンにログイン中で、スクリーンセーバー等で画面ロックなどになっていないことに注意してください。

無償範囲で定期実行

有償契約は敷居が高いという方に簡単に無償で定期実行する方法を示しておきます。
PowerAutomate(無償)での実施概要は以下となります。

(1)まず、永久ループするMainフローをつくります。
(2)そのループの中で、指定した時刻にサブフローを実行するようにします。
(3)サブフローでは、FullWEBにログインし検索CSV実行をするようにします。
※そして、このMainを実行したままにしておくと設定した時間にサブフローが実行されます。

実際のPowerAutomateでの作成方法を示します。

定期時刻にサブフローを実行するアクション

(1)ループ>Loop
1=1の条件なので永久ループです。

(2)スクリプト>DOSコマンドの実行
現在時刻表示「(time /t)」を実行し、
%CommandOutput%に取得されます。

(3)条件>If
「%CommandOutput%」が「02:00」を含む場合を設定します。

(4)フローコントロール>サブフローの実行

(5)フローコントロール>Wait

連載トップページへ戻る