Блокировка входа администратора с помощью Microsoft Graph - PullRequest
0 голосов
/ 22 июня 2019

Я пишу сценарий Powershell, который использует Microsoft Graph с помощью регистрации приложения. Сценарий получает список администраторов нашего клиента и проверяет, вошли ли они в систему в течение 30 дней. Если нет, отправляется уведомление по электронной почте, и вход в их учетную запись переключается на заблокированный.

Часть кода уведомлений по электронной почте работает, как и предполагалось, но это переключатель входа. У меня возникают проблемы при работе с Powershell, поскольку при запуске кода появляется ошибка «Запрещено 403».

Я попытался запустить переключатель входа в систему, используя Graph Explorer, и он работал как положено.

#CREATE ACCESS TOKEN
    $token = Invoke-RestMethod -Uri https://login.microsoftonline.com/$tenant/oauth2/token?api-version=1.0 -Method Post -Body @{"grant_type" = "client_credentials"; "resource" = "https://graph.microsoft.com/"; "client_id" = $clientID;  "client_secret" = $clientSecret} 

    $Headers = @{ 
'authorization'="Bearer $($Token.access_token)" 
}

    #Url
    $apiAccount = "https://graph.microsoft.com/v1.0/users/$userPrincipalName"

#TOGGLE SIGN-IN
    $blockaccount = "{
    ""accountEnabled"": ""false""
}"

Invoke-RestMethod -Headers $headers -Uri $apiAccount -Body $blockaccount -ContentType "application/json" -Method Patch


# My App Registration permissions (Application)

AuditLog.Read.All
Directory.ReadWrite.All
Mail.Send
User.ReadWrite.All

При запуске кода появляется ошибка «Запрещено 403». Я даже пытался добавить регистрацию приложения в роль администратора службы поддержки в Azure, но это также не принесло успеха.

1 Ответ

1 голос
/ 23 июня 2019

На странице документации https://docs.microsoft.com/en-us/graph/api/user-update вы увидите важный совет при обновлении пользователей.В нем говорится, что вам потребуется делегированное Directory.AccessAsUser.All разрешение для обновления свойства passwordProfile .

Я предполагаю, что вам также понадобится это (при входе администратора), чтобы включить/ отключить статус входа.

...