Power Automate でやらかした話(ユーザーの検索)

9/17/2020

Microsoft 365 Power Automate


Microsoft 365 を使ってる組織なら、Power Automate で自動化しよう、というのはよくある話。管理者じゃなくても、メールアドレス等からユーザーを検索して、部署情報取るとか、メンバーリスト作るとか、通知メール送る、なんてこともできる。

ただ、使うアクションによっては困ったことになるケースもある。ちょっとやらかしたことを紹介します

(注)やらかしたのは数か月前。今は再現できなくて、ひょっとしたらユーザーの検索(V2)になって、変更されているのかもしれません。

1.やりたかったこと


Formsに書いてくれた人を、あるグループに追加して、グループに追加したよ!という通知を送りたかった。

なので、Formsに記入した[ Responders Email ]を、アクション [Office 365 -  ユーザーの検索 ]でユーザーを検索、後続の処理を組んだのだった。

2.どうなったか

関係ない人までガンガンメール送ってるじゃないか!Formsに書くのは1人だけだし、なんで複数の人にメールいくのさ?しかも、みんなメンバーに入ってるよ!

顔面蒼白です。

3.なんでこうなった?


使ったアクションは、ユーザーの検索。語句から検索してくれるから、Responders Emailで検索しようとした。


詳細オプションを表示する、を選択すると「上」って出てくる。上ってなにさ?
調べてみると、検索した時に、条件に合うものをいくつまで出力するか、っていう上限値らしい。デフォルト100(当時)でしたので、100人出力して、100人にメール送っちゃってたのね・・・。



4.対策として気を付ける点

対策は2通り。

4-1.「ユーザー プロフィールの検索」を使う

要件を満たせるなら、なるべく「ユーザー プロフィールの検索」を使う。こっちだと、入力1に対して出力1。初心者でも怖くない。
ただし、検索できるのはUPNかEmail。表示名や姓、名などからは検索できない。

4-2.「ユーザーの検索(V2)」を注意して使う。

検索の自由度も高い。表示名や姓、名でも検索できる。

使うときには、なるべく「上」に値を入れておく。デフォルト1000(!)。入力1に対して出力は最大1000。なので、うっかり検索条件が大量のユーザーに人するような条件の場合、私がやらかしたみたいになりますので、必要になりそうな最小数(今回のケースなら1とか)を設定しておきましょう。

5.参考