今回作成するフローはそのままでは業務で使うには機能不足です。最後に解説します。
ゲストユーザーは、ゲスト元の名前で登録される。
Teamsなどに招待したゲストユーザーは本人(もしくは元組織)が元々設定している表示名をコピーして、自社の Azure AD に登録されます。通常は問題ないのですが「当社の命名ルールと違う」「個人アカウントなのでパリピな名前になってる」等、不都合な場合もあります。
ゲストユーザーの表示名称を変更したいのですが、 Azure AD もしくは Microsoft 365 管理センターで変更する必要があります。つまり一般ユーザーではできません。
メールなどで都度お願いするわけですが、自動化してみたいと思います。
入力フォームを作る
Formsで申請フォームを作りましょう。以下のようなシンプルなもので良いでしょう。
Power Automate フロー
全体はこんな感じ
Formsの[新しい応答が答申されるとき]+[応答の詳細を取得する]はいつものペアなので置くとして。
変更すべきゲストユーザー名を特定
Office 365 のゲストユーザーは、メールアドレスの後ろに
#EXT#@[テナント名].onmicrosoft.com
が付与されるルールなので、入力データと合体させます。本来ここで入力したメールアドレスの @ と _ を差し替える必要があるのですが、なぜかうまい事Autoamteが変換してくれるので、全幅の信頼を置いてそのまま使います。
Azure AD アクションで更新
取得した #EXT#~~ アドレスを指定して AzureADの情報を更新します。他の項目はフォームに登録された情報を使用します。
結果を通知
この手の通知を受け取る専用のチャネルがあると便利かもしれません。
これだけでゲストユーザーの表示名称は変更できるわけですが、、、
実務上必要なチェックなど
実際にはこれだけで運用することは止めましょう。変更履歴の記録やゲストユーザーの存在確認、変更可否の承認フローも必要な組織もあるでしょう。これらの機能を実装する必要があります。
雑ですが実際に業務で使うなら以下のような処理が必要かと思います。
- Azure AD にそのゲストユーザーが存在するか確認
- 存在して無ければメールなどで依頼者に「登録されていません、メアドが違うのでは?」など返信
- 依頼履歴を残すため、事前に準備しておいたSPOリストに依頼内容と依頼者、依頼日などを保存
- 商品が必要な組織なら承認フローも必要
- Azure AD 変更後にチャット通知とともにSPOリストに完了フラグをセット
- 依頼者にメールしても良いかも
さいごにこれを作るべきか考えた
この処理必要ですかね?
ゲストユーザーを受け入れることが多い組織であれば必要かもしれません。でも月に1度程度だとどうだろう?と作ってて思いました。
IT部門にはこのような細かい依頼がたくさんあります。他のたくさんの依頼もまとめて受け付ける仕組みを作ったほうが良くないですか?もしくはSPOページの目立つところに「こんな依頼をしたいときは以下の情報を添えてメールしてね」という案内ページを作成しておいた方が良くないですか?とか思ってしまいました。
とはいえ、せっかく作ったのでご参考にどうぞ。