如何使用 Microsoft.Azure.ActiveDirectory.GraphClient 删除 AzureAD

本文关键字:GraphClient 删除 AzureAD ActiveDirectory Azure 何使用 Microsoft | 更新日期: 2023-09-27 18:37:02

我正在使用Microsoft.Azure.ActiveDirectory.GraphGraphClient(版本2.1.0)编写用于Azure AD用户管理的应用程序。我可以设置用户的经理,但不知道如何清除该字段。

不幸的是,GitHub 上提供的示例项目也不包含此功能。

如何使用 Microsoft.Azure.ActiveDirectory.GraphClient 删除 AzureAD

我设法使用以下代码清除了"管理器"字段。它没有使用Microsoft.Azure.ActiveDirectory.GraphClient库,但完成了工作。

var token = <get your adal token here>
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = 
    new AuthenticationHeaderValue("Bearer", token);
var url = "https://graph.windows.net/<tenant domain>/users/<userid>/$links/manager?api-version=1.6"
var resp = httpClient.DeleteAsync(url).Result;
if (!resp.IsSuccessStatusCode)
{
    // log / throw exception etc.   
}
您需要

执行DELETE HTTP 请求来https://graph.microsoft.com/v1.0/users/<user_email>/manager/$ref(确保替换 URL 中的<user_email>

成功的调用将收到204响应代码和空字符串作为响应正文。

此方法目前在Microsoft图形 API 文档中缺失,但应在将来添加。(看这里)

此外,您应该开始使用Microsoft图形(graph.microsoft.com)而不是Azure AD图形(graph.windows.net),因为后者已经过时。(看这里)

//Assign and remove user's manager
// User.Manager = newUser as DirectoryObject;
           User.Manager = null;