社員マスターが欲しい時がちょいちょいあるので、クラウドフローで何かできないかやってみました。
Microsoft Power Automate Advent Calendar 2022 2日目!
qiita.com
- Dataverse には Azure Active Directory ユーザーテーブルがある
- Microsoft 365 のライセンスでなんとかできないかしら?
- Power Automate で 組織全体のユーザーを取得する
- さいごに
Dataverse には Azure Active Directory ユーザーテーブルがある
Dataverse には Azure AD のユーザーを取り込んでくる AADUser というテーブルというものが自動的に作成される。
これを利用すると、社員マスターなものを比較的簡単に利用できる。これ便利なのよねぇ。
だけど、Microsoft 365 のライセンスだとこれは使えない。
Microsoft 365 のライセンスでなんとかできないかしら?
Azure AD のグループ使えそう。
Azure AD のグループで全社員が入ったグループを作成して、それを取得すれば何かできそう。
コネクタにも「グループメンバーの取得」があります。
これを使えばグループに登録されたメンバーを取得できそうです。
参考: Azure AD - Connectors | Microsoft Learn
グループは手動で作る...
指定した条件でグループにユーザーを追加できる動的グループという機能があるが、この機能には Azure AD P1 以上のライセンスが必要...
Teams にある、アレがつかえそう
Teams には 「組織全体」というチームが作成できる。
組織全体でチームを作成すると、裏で動的 Microsoft 365 グループ が作成されている。
最大5つの組織全体のチームを作成できる。
learn.microsoft.com
これを使えば何とかできそう。
Power Automate で 組織全体のユーザーを取得する
グループのオブジェクトIDを取得する
まずは、Azure Active Directory 管理センター のすべてのグループからTeamsで作成した「組織全体」のチームのオブジェクトIDを確認する。
Azure AD の 「グループメンバーの取得」 アクションの設定
Azure AD の 「グループメンバーの取得」 アクションのグループIDに先ほど取得したオブジェクトIDを入力する。
作成アクションには、データ数を数えるように、length 関数で取得数を調べる。ちなみに、このテナントには121ユーザーライセンスを付与したユーザーが存在する。
実行!
さて結果は... ででん! 100...あれ、足りない...
あるあるパターンだった...
既定だと取得が100件なんですね...。 ってか「上」って何?
「上」に「999」って入れたら、ちゃんと取得できました!
あとは、後続のアクションでいろいろできそうです。
Azuer AD のグループからユーザーを取得し、CSV で SharePoint に保存するフロー。
さいごに
Azure AD のグループは Microsoft 365 グループも指定できるので、Teams の組織全体を使ってみると、社員マスターが手軽に取得できそうです。
ただ、Teams の組織全体を使ったチームも使い勝手が必ずしも良くないので組織によっては利用できない場合もあると思います。かといって、手動でグループにユーザーを追加するのは大変なので、自動で登録できるといいですよねぇ。
そんなわけで、明日は、Azure AD P1以上で使える動的グループをやってみようと思います!
記事はこちら!
flali.hatenablog.com