砂漠の旅人(たびと)

UNIX / MS-DOS 時代から電脳砂漠を旅しています

【RPA】Power Automate を使って自動化を試してみる

こんにちは、たびとです。

最近、Power Automate を使った自動化の記事を見かけることが多くなったので、 実際に使ってみました。

Windows 11 は最初からインストールされています。Windows 10 の場合、Microsoft Store からダウンロードできます。

powerautomate.microsoft.com

この記事の対象者

  • RPAによる自動化ツールに興味のある方
  • Microsoft Power Automate を使ってみたい方

Power Automate のアクティベート

Power Automate アイコンをクリックすると更新が始まります。

Power Automate の更新

Microsoft アカウントでサインインします。

Microsoft アカウントにサインインする

Power Automate のアクティベートが始まるので、次へボタンをクリックします。

Power Automate へようこそ

国/地域の選択から日本を選択し、開始するをクリックします。

国/地域の選択

クイックツアー

クイックツアーを開始するかどうかのダイアログが表示されます。 まだ見たことがなければ、軽く見ておくと良いと思います。

クイックツアーを開始する

新しいフローを作成します。このフローが自動化を実行する単位になります。

新しいフローの作成

フロー名を適当に「サンプル」と入力します。 後で変更・削除できるのため、適当な名前で構いません。

フローを作成する

フローを作成するため、デスクトップ フローデザイナーの使い方が説明されます。

デスクトップ フロー デザイナー

左メニューに表示されたアクションを組み合わせることで、自動化を実現することができます。

アクションを使用してフローをビルドする

フローのステップを記録するでは、キーボードとマウスの操作を記録・再現することができます。

フローのステップを記録する

アクションをまとめてサブフローとすることができます。

サブフローを使用して整理する

アクションに変数を利用することができます。

変数を使用する

UI要素を取得することができます。 例えば、ブラウザのHTMLの要素を解析して、要素を取得して、フォームに文字列を入力することができます。

UI要素を取得する

画像を使った自動化をアクションを利用することができます。

画像の使用を自動化する

作成したフローをデバッグすることができます。

フローをデバッグする

作成したフローを保存することができます。

フローを保存する

フローの操作

Power Automate コンソールのクイックツアーです。

Power Automate コンソール

作成したフローの一覧を表示されます。画面サイズを小さくしていたため、フロー名が表示されていませんが、実際にはフローが表示されます。

フローを表示する

作成したフローを実行・停止を管理することができます。

フローを管理する

「例」をクリックすると、Microsoft から提供されているフローのサンプルを参考にすることができます。

サンプルを詳しく調べる

Power Automate の設定を行います。

設定を管理する

フローが増えてきた場合、キーワード検索を実行することができます。

フローを検索する

簡単なフローを作ってみる

最近、WSL Ubuntu の 20.04 と 22.04 に docker 環境を構築して、切り分けて利用しているため、 docker サービスの起動を手動にしていましたが、これを Power Automate を使って自動化するフローを作ってみることにします。

Power Automate を起動し、「新しいフロー」をクリックします。 フロー名は「docker サービス起動」とし、「作成」ボタンをクリックします。

左側のアクションから CMD セッション を開き、CMD セッションを開くを選択します。 何も編集せずに、そのまま「保存」ボタンをクリックします。

CMD セッションを開く

次に「CMD セッションに書き込む」を選択し、コマンドに docker サービスの起動コマンドを記述します。 wsl -d Ubuntu -u root -- service docker start ディストリビューション名は適宜変更してください。

CMD セッションに書き込む

最後に「CMD セッションの終了」を選択し、保存ボタンをクリックします。

CMD セッションの終了

ここで、WSL Ubuntu コンソールを開き、docker サービスが停止していることを確認します。

$ service docker status
 * Docker is not running

フローデバッグを実行し、docker サービスが起動することを確認します。

デバッグ実行

WSL Ubuntu コンソールで、docker サービスが起動していることを確認します。

$ service docker status
 * Docker is running

フローが正常に動作した場合、保存ボタンを押して終了します。

フローを保存する

フローの作成画面を閉じると、フローの一覧が表示されて、先ほど作成した「docker サービス起動」のフローが表示されます。 通常、ここからフローを実行します。

フローの一覧

まとめ

今回の docker サービス起動以外にも、Synology NAS の Web にログインするフローを作ってみましたが、意外と簡単にできました。 これは仕事でもいくつもの Web サイトにログインして情報を参照するときに、フローを作ると面白いことができそうです。

Web 絡みだと、フォーム入力と表示された情報を解析するスクレイピング処理が面倒ですが、 Power Automate を使うと、簡単に処理することができそうです。

このように、Power Automate は使い方によっては便利だと思いますが、 無料版は Windows 起動時にフローを実行することができないのが残念です。

どちらも、そんなに使い込んではいませんが、 ブラウザのログインを自動化するような場合、 Power Automate は GUI で完結しますが、 Automator は、キー入力スクリプトを使う必要があります。 どちらも、一長一短あると思いますが、色々と使い込んでみると面白いことができると思います。

では、皆さん、よい旅を。