Azure AD のユーザー情報を扱えるUsers (ユーザー )テーブルですが、大元のAzure AD側でユーザーアカウントが削除されたときはどのような挙動になるのでしょうか?Dataverse テーブル側の関連レコードも削除されてしまうのか
ユーザーテーブルの普通のテーブルとの列の違い
通常のテーブルではレコードの状態を管理するstatus, statecode 列がありません。
代わりにstatus という表示名ですがIsDisabled という列が存在しています。こちらでレコードの状態を管理しています。
Dataverse テーブルでの確認
Dataverse のデザイナー画面から見ると以下のようになっています。

列を確認すると以下のように定義されています。スキーマとしてはIsDisabled というYes/No のデータ型で管理されています。

Advanced option から確認すると以下のようになっています。

OData API での確認
APIからJSONで確認すると以下のように応答が返ってきます。
"isdisabled@OData.Community.Display.V1.FormattedValue": "Enabled",
"isdisabled": falseユーザーアカウントがAzure ADから削除されたときのDataverse ユーザー テーブルの挙動
ではユーザーアカウントが大元のテーブルから削除されたアカウントを確認してみます。
すると以下のようになっています。
@OData.Community.Display.V1.FormattedValue": "Disabled",
"isdisabled": trueつまり、Status 列 (IsDisabled) がtrue となっている事がわかります。Dataverse での表示状況を見てみます。

ユーザーアカウントの状態はInactive となっていることがわかります。
Dataverse ユーザー テーブルのStatus 列の活用方法
例えば「有効なユーザーの一覧」を表示したいとき、以下のOData Query を設定することで実現できます。
https://<Base URL>/systemusers?$filter=isdisabled eq falsePower Automate では以下のように記述できます。Filter rows に記述します。

isdisabled eq false以上ご参考になれば幸いです。
メルマガで新しい記事を受け取る
新しい記事や講座のお知らせを、メールでお届けします。いつでも配信を停止できます。
ご登録いただいたアドレスは、メルマガの配信にだけ使います。
あわせて学びたいオンライン講座
どの講座から始めればよいか、学ぶ順番をまとめています。





コメントを残す