【问题标题】:How to programatically delete Azure Active Directory user?如何以编程方式删除 Azure Active Directory 用户?
【发布时间】:2015-03-16 18:45:02
【问题描述】:

我正在使用以下代码。 代码执行良好,但不会删除用户。

IUser deleteuser = new User();
deleteuser = users.Where(myuser => myuse

r.MailNickname.Equals("IshanArora")).FirstOrDefault();

if (deleteuser != null)
{
    deleteuser.DeleteAsync();
}

【问题讨论】:

  • 您使用的是什么客户端库?您是否确认删除请求实际上是向 AAD 发出的(即 if 条件是否评估为 true)?
  • 我们正在使用活动目录库并调用图形 api。是的,如果条件评估为真。
  • 您看到了什么错误情况?您是否有提琴手跟踪以查看电线上发生了什么?您是在登录用户的上下文中还是在仅限应用的上下文中进行调用?
  • 是的,我得到了这个。没有足够的权限来完成操作。

标签: c# .net azure azure-active-directory


【解决方案1】:

我通过在删除之前检索用户来删除用户:

private async Task DeleteUser()
{
    ActiveDirectoryClient client = AuthenticationHelper.GetActiveDirectoryClient();

    // Retrieve user from its displayname
    var user = await client.Users.Where(u => u.DisplayName == "user two").ExecuteSingleAsync();

    // Or Retrieve user from its principal name
    // var user = await client.Users.Where(u => u.UserPrincipalName== "user two").ExecuteSingleAsync();

    // Or Retrieve user from its id in the directory
    //var user = await client.Users.GetByObjectId("0b34c995-0970-4776-ae87-f66d384f9c45").ExecuteAsync();

    // Delete the user
    await user.DeleteAsync();
}

您应该注意到,可能需要几秒钟才能看到用户从 Azure 门户中删除

【讨论】:

  • 虽然我也在这样做,但我无法通过图形 api 从我的网站删除用户,并且登录用户是全局管理员。
  • 你在 azure 广告中应用的权限是什么?
  • 我的权限是。读取目录数据,查看用户的基本资料 读取和写入目录数据 读取和写入所有用户的完整资料 创建、读取、更新和删除用户任务和项目(预览) 查看用户的电子邮件地址 读取和写入所有用户的完整资料 读取以及对用户配置文件的写入权限 读写目录数据 启用登录并读取用户配置文件 读取目录数据 读取和写入目录数据 读取所有用户的完整配置文件 读取所有用户的基本配置文件
猜你喜欢
  • 2016-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-31
  • 1970-01-01
相关资源
最近更新 更多