如何使用Microsoft.Azure.ActiveDirectory.GraphClient删除AzureAD中的用户管理器

时间:2016-03-02 17:33:25

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

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

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

3 个答案:

答案 0 :(得分:9)

我设法使用下面的代码清除“经理”字段。它没有使用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.   
}

答案 1 :(得分:0)

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

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

Microsoft Graph API文档当前缺少此方法,但应在以后添加。 (请参阅here

此外,由于后者已经过时,因此您应该开始使用Microsoft Graph(graph.microsoft.com)而不是Azure AD Graph(graph.windows.net)。 (请参见here

答案 2 :(得分:-2)

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