Как я могу дать пароль в качестве параметра, используя Graph API для Azure-AD и Intune? - PullRequest
0 голосов
/ 16 мая 2018

Следуя приведенному здесь примеру: https://github.com/microsoftgraph/powershell-intune-samples/blob/master/Authentication/Auth_From_File.ps1

Более конкретно:

$UserPassword = get-Content "$Password" | ConvertTo-SecureString
$userCredentials = new-object Microsoft.IdentityModel.Clients.ActiveDirectory.UserPasswordCredential -ArgumentList $userUPN,$UserPassword
$authResult = [Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContextIntegratedAuthExtensions]::AcquireTokenAsync($authContext, $resourceAppIdURI, $clientid, $userCredentials).Result;

Я пробовал следующее:

$UserPassword = ConvertTo-SecureString -String $Password -AsPlainText -Force
$userCredentials = new-object Microsoft.IdentityModel.Clients.ActiveDirectory.UserPasswordCredential -ArgumentList $userUPN,$UserPassword
$authResult = [Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContextIntegratedAuthExtensions]::AcquireTokenAsync($authContext, $resourceAppIdURI, $clientid, $userCredentials).Result;

Однако я 'Вы получили сообщение об ошибке

Токен авторизации недействителен, повторите проверку подлинности ...

, которую можно найти далее в коде.

   if($authResult.AccessToken){
   [...]
    Write-Host
    Write-Host "Authorization Access Token is null, please re-run authentication..." -ForegroundColor Red
    Write-Host
    break

Правильно ли я считаю, что мне, вероятно, нужно ввести пароль другим способом?

1 Ответ

0 голосов
/ 17 мая 2018

Хорошо, я думаю, что нашел что-то пошло не так.Я попытался запустить другой скрипт, и мне пришлось вручную вводить учетные данные.Это побудило меня принять целый ряд разрешений от Microsoft.Я думаю, что это была проблема.Этот код теперь работает:

$userId = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.UserIdentifier" -ArgumentList ($User, "OptionalDisplayableId")

$UserPassword = ConvertTo-SecureString -String $Password -AsPlainText -Force

$userCredentials = new-object Microsoft.IdentityModel.Clients.ActiveDirectory.UserPasswordCredential -ArgumentList $userUPN,$UserPassword

$authResult = [Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContextIntegratedAuthExtensions]::AcquireTokenAsync($authContext, $resourceAppIdURI, $clientid, $userCredentials).Result;

Тем не менее, спасибо Матиасу и Марку за попытку помочь:)

...