19
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Power Automateの管理コネクタを試してみた。

Last updated at Posted at 2022-12-02

Microsoft Power Automate Advent Calendar 2022
3日目を担当します小林です。
検証してみたら期待通りの動きではなかったために、ブログの内容を大幅に変更してお送りします😢

増え続けるソンビフロー🧟!

定期的な見直しをしていましたが、利用年数が長期に渡ると知らない間に謎のゾンビフロー🧟がどんどん作成され、、、
結構把握できない状態になったりしていませんか?💦
キャァーーー!!!!!😱

そのようなことにならないように、CoE Starter Kitが提供されているのですが、今回は標準で使えるPower Automateの管理コネクタを試してみたお話です。

Power Automateの管理コネクタ

まず最初にご説明したいのが、Power Automateの管理に利用できるコネクタは2つあります

PowerAutomate管理

image.png

管理者向けPowerAutomate

image.png

アイコン似てますよね、、、
よく見ると丸抜きのアイコンが「人」なのか「歯車」なのかの違いですが、
歯車アイコンの「管理者向けPowerAutomate」は、管理者特権で操作を実行する必要がある内容がこちらに纏められています。

具体的に、2つのコネクタで出来る機能を一覧にしてみました。

PowerAutomate管理(Power Automate Management)

コネクタを一覧表示する
ListApis
指定された環境内で使用可能なすべてのコネクタを一覧表示します。 この一覧には、カスタム コネクタおよび組み込みコネクタが含まれます。
コネクタを取得する
GetApi

環境内で指定されたコネクタを取得します。

コールバック URL の一覧
ListCallbackUrl

環境内で指定されたフローのコールバック URL の一覧です。

フローの作成
CreateFlow

フローの作成

フローの実行専用ユーザーを一覧表示する
ListFlowUsers

環境内で指定されたフローのすべての実行専用ユーザーを一覧表示します。

フローの所有者を変更する
ModifyFlowOwners

環境内で指定されたフローの所有者を変更します。

フローをオフにする
StopFlow

環境内で指定されたフローを停止します。

フローをオンにする
StartFlow

環境内で指定されたフローを開始します。

フローを再送信する
ResubmitFlow

環境内で指定されたフロー実行を再送信します。

フローを削除する
DeleteFlow

環境内で指定されたフローを削除します

フローを取得する
GetFlow

環境内で指定されたフローを取得します。

フローを更新する
UpdateFlow

環境内で指定されたフローを更新します。

フローを管理者として取得する
AdminGetFlow

管理者アクセス権のある環境から指定されたフローを取得します。

フロー実行を取り消す
CancelFlowRun

フロー実行を取り消します。

フロー所有者を一覧表示する
ListFlowOwners

環境内で指定されたフローのすべての所有者を一覧表示します。

フロー所有者を管理者として変更する
AdminModifyFlowOwners

管理者アクセス権のある環境内で作成された特定のフローの所有者を変更します。

削除されたフローを管理者として復元する
AdminRestoreFlow

管理者のアクセス権を持つ環境で、論理的に削除された指定のフローを復元します。

実行専用ユーザーを変更する
ModifyRunOnlyUsers

環境内で指定されたフローの実行専用ユーザーを変更します。

接続の作成
CreateConnection

環境内の特定のコネクタの接続を作成します。

管理者としてフローを一覧表示する
ListFlowsInEnvironment

管理者アクセス権のある指定された環境内ですべてのフローを一覧表示します。

自分のフローを一覧表示する
ListMyFlows

指定された境内で作成したすべてのフローを一覧表示します。

自分の接続を一覧表示する
ListConnections

指定された環境内で使用可能なすべての接続を一覧表示します。

自分の環境を一覧表示する
ListUserEnvironments

アクセス可能な環境を一覧表示します。

管理者向けPowerAutomate(Power Automate for Admins)

フロー ユーザーの詳細を削除する
RemoveAdminFlowUserDetails

Power Automate ユーザーの詳細レコードを削除します。

フロー ユーザーの詳細を取得する
GetAdminFlowUserDetails

Power Automate のスコープで指定したユーザーの詳細を返します。

フローの承認を削除する
RemoveAdminFlowApproval

フローの承認を削除します。

フローを管理者として削除する
RemoveAdminFlow

フローを削除します。

フローを管理者として有効にする
EnableAdminFlow

フローを有効にします。

フローを管理者として無効にする
DisableAdminFlow

フローを無効にします。

フロー所有者ロールを管理者として取得する
GetAdminFlowOwnerRole

フローのアクセス許可を返します。

フロー所有者ロールを管理者として編集する
EditAdminFlowOwnerRole

フローのアクセス許可を設定します。

このような内容をコネクタとして情報を取得することができます。

Power Appsで管理アプリを作成してコネクタを試してみた

では、これを利用して管理アプリを実装してみようということで、以前から作成していたPower Appsの管理アプリに、Power Automateの管理機能を実装してみました。
image.png

アプリ起動して、管理したいアプリアイコンを選んでもらうと、詳細画面に進みます。
image.png

■環境一覧には
PowerAutomate管理のListUserEnvironmentsを利用して環境の一覧を取得。

■フロー一覧には
PowerAutomate管理のListFlowsInEnvironmentを利用してフローの一覧を取得。

■黄色いボタン類には
指定したフローの所有者の変更、削除、メールでの問い合わせ機能

アプリとしては結構便利に出来て「こんな風に使うと便利だよねー!」っていうブログを書きたかったんですがね。
なぜか環境にあるフローの数がやけに少ないんですよ。

試しにPower Automateで、フローの一覧をコネクタで取り出してみるが、、、

ブログのはじめに書いた通り、方向性が変わってしまったのが、管理者として一番利用したいであろう、環境内のフローを一覧表示する「ListFlowsInEnvironment」が、なぜかすべてのフローを取得できないんです。

試しに、簡単なフローで取り出すと3件のみ
image.png

その時に気が付いたのが、Power Platform管理センターから環境にあるフロー一覧を表示する挙動とまるで一緒で、まず3件表示されて、「さらに読み込む」ボタンを押すと
image.png
↓このように残りのフローが表示されるんですよね。
image.png

この妙な挙動に着目して、試しに「フローを管理者として一覧表示」の「設定」にある「改ページ」をオンにして「しきい値」を設定すると全件取得できたのですが、
image.png

image.png

Power Appsから「ListFlowsInEnvironment」でデータ取得する際のオプションには、「改ページ」のような設定項目はオプション含めて見当たらず、あともう少しで完成なのに、実装ができない状況に陥いってしまいました😢

今回は残念ながら、記事がまとまらず、時間の都合で情報共有にとどまってしまいましたが、この他の管理コネクタのアクションは、フローのオン・オフなど管理を少しでも楽になるようなツールに利用できるとは思いますので、皆さんもぜひお試しください。

お読みいただきありがとうございました。

19
6
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
19
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?