6
5

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 3 years have passed since last update.

PowerAutomateでAzureADの従業員IDを取得する

Last updated at Posted at 2020-09-04

はじめに

当社ではMicrosoft365を導入しているので、MS365で使用できるAzureAD(以下、AAD)に社員の情報を集約しています。当社には社員を一意に識別する社員番号があるのですが、それをAADのどこに入れるか悩んでいました。AADには「employeeId」というフィールドがあるんですが、Azure Active Directory管理センターでは「employeeId」を入力するところがなかったので、「employeeId」を使うことを諦めていました。
PowerShellを使えば「employeeId」に値をセットできますが、当社ではMS365アカウントを作成するのは非IT部門のためPowerShellを使うのは敷居が高いです。

2020年8月前半に久しぶりにAzure Active Directory管理センターを見たら「従業員ID」なる項目が増えていました。元々あったのか見落としていたのか分かりませんが、管理センターのUIであれば非IT部門でも編集できるので、「従業員ID」を使うことにしました。「employeeId」の和名が「従業員ID」のようです。

いつからあったんだ。。?

やりたいこと

PowerAutomateでメールアドレスから従業員IDを取得する。

(参考)PowerShellで従業員IDを更新

こんな感じです。従業員IDは拡張項目なんですね。

Set-AzureADUserExtension -ObjectId "メールアドレス"  -ExtensionName "employeeId" -ExtensionValue "従業員ID"

PowerAutomate

ユーザの情報を取得

AADなので、AzureADコネクタの「Get user(ユーザーの取得)」アクションと思いきや、これだと取得できません。
Office 365 Usersの「Get user profile (V2)(ユーザー プロフィールの取得 (V2))」アクションを使用します。

「フィールドの選択」は任意項目ですが、従業員IDは指定しないと返却されないので、「employeeId」を入力します。フィールド名を入力するとこのフィールドの値しか返却されなくなってしまうので、他のフィールドも返却して欲しい場合はカンマ区切りでフィールドを指定します。
試しに実行してみると従業員IDのみが返却されます。

従業員IDを取得

この後のアクションで従業員IDを使用できるか確認します。通常であれば「動的なコンテンツ」で指定できるはずですが、従業員IDというコンテンツは見当たりません。

こういう場合は仕方なくJSONから値を取得します。

JSONの解析

Get user profile (V2)アクションの戻り値はJSONですが、それを解析するには「JSONの解析」アクションを使用します。

コンテンツにはGet user profile (V2)アクションの戻り値である「Graph APIからのユーザ」を指定します。
スキーマは「サンプルから生成」で作成しました。Get user profile (V2)アクションの戻り値をそのまま使用すると良いでしょう。

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(employeeId)/$entity",
  "employeeId": "従業員ID"
}

終わりに

従業員IDの存在を知るまではCommon Data Serviceに従業員ID相当の値を入れていたのですが、これで使わなくて済みます。CDSの場合、Excelで簡単に編集できるんですが、PowerAutomateだといつからかは知りませんがDynamics365コネクタが非推奨になってしまったので。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?