Power Automate から Azure Automation の PowerShell Runbook を呼ぶ?!字面はややこしいけどやることはシンプルです!!
2023-01-12
azblob://2023/01/12/eyecatch/2023-01-12-automate-automation-000.jpg

こんにちは、さとはるです。

今回は「Power Automte」から「Azure Automation」上の「PowerShell Runbook」を実行したいと思います。

Power だのAutomateだのと言った単語でごちゃついてますが、やることは クラウドフローの Azure Automation コネクタでアクションを一つ実行するだけです。

Azure Automationについては以下の記事で詳しく解説しています。

PowerShellの操作を自動化! Azure Automation の Power Shell Runbook を使いこなそう!! | cloud.config Tech Blog (cloud-config.jp)

それでは本題へ

Azure Automation コネクタ

今回のフローの完成形はこちら。

特に制限はないですが、例として手動で実行トリガーでフローを作ります。

さっそく Azure Automation コネクタを追加します。

[Azure Automation] => [ジョブの作成]と選択してください。

認証の方法を問われるので[OAuthの規定値]が選択されていることを確認して[サインイン]をクリックします。

後は使用したいAutomation アカウントを操作できるアカウントでログインします。

[サブスクリプション][リソースグループ][Automation アカウント][Runbook名]を選択します。

今回は前述の記事で作ったものを呼び出しています。

「引数で指定した名前のリソースグループを作る」というスクリプトです。

Runbookを指定したところで引数の有無や名前を自動で読み取って入力項目に増えます。

[Runbook Parameter rgName]というのがそうです。

初期値の 'rg-default-001' もRunbook 側から読み取って自動で入っていました。

この状態で一度保存してテストしてみましょう。

後の確認をわかりやすくするため、[Runbook Parameter rgName]を['rg-test-003']として実行しました。

無事実行されていそうですね。

[ジョブの待機]に[いいえ]を選択しているので、Runbookをキックしたところでフロー的には成功になっている点はご注意ください。

さて、ここまででRunbookの呼び出し自体はできているのですが、せっかくRunbookに動的な値を渡せる部分を固定値にしてしまっており魅力半減です。

手動で実行トリガーの引数でテキストを入力させ、その値を渡すようにしましょう。

さっそく実行します。

[RG名] は [rg-test-004]にしておきます。

しばらく待つと…

リソースグループが作成されていることが確認できました!!

まとめ

Power Automate から Azure Automation の PowerShell Runbook を呼ぶことができました。

Power Automate は Power Apps や Dataverse、Power Automte のスマホアプリ等いろいろな所から実行できるので更に夢が広がりますね。

今回のように別のサービスを呼び出すインターフェースとして Power Automate を使うのも面白いです。

本記事が少しでも誰かの手助けになれば幸いです。