※ この記事は、Microsoft Power Automate Advent Calendar 2024 12月16日 担当分の記事です。
環境内のクラウドフロー数を取得する
環境内のクラウドフローの数を取得するのであれば、Power Automate管理コネクタの「管理者としてフローの一覧を取得 (V2)」を利用することで可能です。
以前に記事を書いたのでこちらをご参照ください。
作成されたクラウドフロー数をカウントする
しかし、デスクトップフローの場合は、該当するアクションが存在しないので、ほかの手段をとる必要があります。
環境内のデスクトップフローの数を取得する
デスクトップフローの数を確認する方法については、以前に記事を書いたのでこちらもご参照ください。
テナント全体のデスクトップフローの確認方法
以前の記事では、手動で確認しに行く方法を記載していました。
今回は、クラウドフローを利用して、自動的に取得する方法について記載したいと思います。
なお、システムカスタマイザーやシステム管理者のセキュリティロールが付与されている必要があります。
組織アカウントを利用した場合のPower Automate for desktopで作成したデスクトップフローの落とし穴 の記事でも触れていますが、デスクトップフローの情報は、Dataverseのテーブルに保存されています。
Dataverseのテーブルに保存されているのであれば、Dataverseコネクタを利用して取得が可能ということになります。
Dataverse コネクタは、プレミアムコネクタですので、Power Automate Premiumなどのライセンスが必要となりますので、ご注意ください。
Dataverseコネクタの「選択した環境の行を一覧表示する」アクションで該当テーブルの情報を取得できます。
① 「環境」で取得したい環境を選択します。
② 「テーブル名」にデスクトップフローの情報が保存されているテーブルを指定します。
具体的には、「Workflow」テーブルに保存されています。
日本語環境の場合、アクションの「テーブル名」の選択肢では、表示名が「プロセス」となっているので注意が必要です。
③ 「列を選択する」では、「Workflow」テーブルから必要な列の内部名を指定していきます。
今回は、フローの名前とフローの種類を判別するために、'name'と'category'をカンマ(,)区切りで記載します。
④ 「行のフィルター」には、以下のように記載します。
'category'列に「6」という値が入っているものが、デスクトップフローに該当します。
category eq 6
あとは、「選択した環境の行を一覧表示する」アクションの出力結果を、length() 関数で数をカウントすればOKです。
以前に、まっぴぃ さんが、「Power Automate for desktop が Dataverse 容量を勝手に消費する話」で、PowerShellで取得する方法を記載してくださっています。
こちらも同じように'category'列に「6」となっているレコードを抽出しています。
ご参考まで。
最後に
システムテーブルとして、最初から作成されている Dataverseのテーブルについては、以下のように公式ドキュメントに内容が掲載されています。
Process (Workflow) テーブル/エンティティの参照 (Microsoft Dataverse) - Power Apps | Microsoft Learn
読み取るのはなかなか難しいですが、Dataverseテーブルから情報を取得するという方法もあるというのを知っていただければと思い、本記事を書きました。
試行錯誤が必要ですが、それも面白さのひとつかなと思います。
ぜひ、Power Automate Lifeを楽しんでいただければと思います。