Как удалить диспетчер пользователей в AzureAD с помощью Microsoft.Azure.ActiveDirectory.GraphClient

Я использую Microsoft.Azure.ActiveDirectory.GraphClient (версия 2.1.0), чтобы написать приложение для управления пользователями Azure AD. Я могу установить диспетчера пользователя, но не знаю, как очистить поле.

К сожалению, образец проекта, представленный на GitHub, также не содержит этой функции .


person stefboe    schedule 02.03.2016    source источник


Ответы (3)


Мне удалось очистить поле «менеджер» с помощью приведенного ниже кода. Он не использует библиотеку 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.   
}
person stefboe    schedule 13.04.2016

Вам необходимо выполнить DELETE HTTP-запрос к https://graph.microsoft.com/v1.0/users/<user_email>/manager/$ref (не забудьте заменить <user_email> в URL.

Успешный вызов получит 204 код ответа и пустую строку в качестве тела ответа.

Этот метод в настоящее время отсутствует в документации Microsoft Graph API, но должен быть добавлен в будущем. (см. здесь)

Также вам следует начать использовать Microsoft Graph (graph.microsoft.com) вместо Azure AD Graph (graph.windows.net), поскольку последний становится устаревшим. (См. здесь )

person Sergiu Indrie    schedule 30.10.2019

person    schedule
comment
Когда я пытаюсь установить для свойства Manager загруженного пользователя (переданного в DirectoryObject) значение null, как вы предлагаете, и впоследствии вызываю target.UpdateAsync (), менеджер все еще присутствует, когда я перезагружаю объект. - person stefboe; 22.03.2016