---
title: "Azure ADでユーザーアカウントが削除されたときのDataverse ユーザー列の挙動 | IsDisabled = true"
url: "https://www.geekfujiwara.com/tech/d365/3021/"
author: ギークフジワラ
published: "2023-06-02T00:56:26+00:00"
updated: "2023-06-02T00:56:27+00:00"
categories: [Dynamics 365, Power Platform]
tags: [Dynamics 365, OData, Power Automate, Power Platform]
description: "Azure AD のユーザー情報を扱えるUsers (ユーザー )テーブルですが、大元のAzure AD側でユーザーアカウントが削除されたときはどのような挙動になるのでしょうか？Dataverse テーブル側の関連レコードも削除されてしまう…"
---

# Azure ADでユーザーアカウントが削除されたときのDataverse ユーザー列の挙動 | IsDisabled = true

Azure AD のユーザー情報を扱えるUsers (ユーザー )テーブルですが、大元のAzure AD側でユーザーアカウントが削除されたときはどのような挙動になるのでしょうか？Dataverse テーブル側の関連レコードも削除されてしまうのか

## ユーザーテーブルの普通のテーブルとの列の違い

通常のテーブルではレコードの状態を管理するstatus, statecode 列がありません。

代わりにstatus という表示名ですがIsDisabled という列が存在しています。こちらでレコードの状態を管理しています。

### Dataverse テーブルでの確認

Dataverse のデザイナー画面から見ると以下のようになっています。

![](https://www.geekfujiwara.com/wp-content/uploads/2023/06/image-2.png)

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

![](https://www.geekfujiwara.com/wp-content/uploads/2023/06/image-3.png)

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

![](https://www.geekfujiwara.com/wp-content/uploads/2023/06/image-4.png)

### OData API での確認

APIからJSONで確認すると以下のように応答が返ってきます。

:::raw
<!-- wp:sgb/codebox {"title":"JSON","source":"\u0022isdisabled@OData.Community.Display.V1.FormattedValue\u0022: \u0022Enabled\u0022,\n\u0022isdisabled\u0022: false"} -->
<div class="wp-block-sgb-codebox pre_tag"><span><i class="fa fa-code"></i>JSON</span><pre><code>"isdisabled@OData.Community.Display.V1.FormattedValue": "Enabled",
"isdisabled": false</code></pre></div>
<!-- /wp:sgb/codebox -->
:::

## ユーザーアカウントがAzure ADから削除されたときのDataverse ユーザー テーブルの挙動

ではユーザーアカウントが大元のテーブルから削除されたアカウントを確認してみます。

すると以下のようになっています。

:::raw
<!-- wp:sgb/codebox {"title":"JSON","source":"@OData.Community.Display.V1.FormattedValue\u0022: \u0022Disabled\u0022,\n\u0022isdisabled\u0022: true"} -->
<div class="wp-block-sgb-codebox pre_tag"><span><i class="fa fa-code"></i>JSON</span><pre><code>@OData.Community.Display.V1.FormattedValue": "Disabled",
"isdisabled": true</code></pre></div>
<!-- /wp:sgb/codebox -->
:::

つまり、Status 列 (IsDisabled) がtrue となっている事がわかります。Dataverse での表示状況を見てみます。

![](https://www.geekfujiwara.com/wp-content/uploads/2023/06/image-5.png)

ユーザーアカウントの状態はInactive となっていることがわかります。

## Dataverse ユーザー テーブルのStatus 列の活用方法

例えば「有効なユーザーの一覧」を表示したいとき、以下のOData Query を設定することで実現できます。

:::raw
<!-- wp:sgb/codebox {"title":"OData Query","source":"https://\u0026lt;Base URL\u003e/systemusers?$filter=isdisabled eq false"} -->
<div class="wp-block-sgb-codebox pre_tag"><span><i class="fa fa-code"></i>OData Query</span><pre><code>https://&lt;Base URL>/systemusers?$filter=isdisabled eq false</code></pre></div>
<!-- /wp:sgb/codebox -->
:::

Power Automate では以下のように記述できます。Filter rows に記述します。

![](https://www.geekfujiwara.com/wp-content/uploads/2023/06/image-6.png)

:::raw
<!-- wp:sgb/codebox {"title":"OData Query","source":"isdisabled eq false"} -->
<div class="wp-block-sgb-codebox pre_tag"><span><i class="fa fa-code"></i>OData Query</span><pre><code>isdisabled eq false</code></pre></div>
<!-- /wp:sgb/codebox -->
:::

以上ご参考になれば幸いです。
