Есть немного сложный обходной путь.
Вы можете напрямую подключиться к Azure AD с токеном доступа:
Connect-AzureAD
[-AzureEnvironmentName <EnvironmentName>]
[-TenantId <String>]
-AadAccessToken <String>
[-MsAccessToken <String>]
-AccountId <String>
[-LogLevel <LogLevel>]
[-LogFilePath <String>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
И вы можете получить токен доступа с токеном обновления без запроса.
Чтобы просто получить токен обновления, проще всего использовать Fiddler. Откройте Fiddler и запустите Connect-AzureAD
. вы сможете найти токен обновления:
![enter image description here](https://i.stack.imgur.com/UacIB.png)
Затем вы можете получить новый токен доступа и использовать его для подключения к AAD следующим образом:
# The refresh token
$refresh_token="AQABAAAAAACQN9QBRU3jT6bcBQLZNUj7NLUSh_LtiE0dRWb-Vqb9RjUoNjK67G0DlSF65M_w6o1fAvQ******16Z4J0X-MEZSAA"
# Tenant id and account id
$tenant_id = "hanxia.onmicrosoft.com"
$account = "jack@hanxia.onmicrosoft.com"
# 1b730954-1685-4b74-9bfd-dac224a7b894 is a public client from Microsoft
$clientId = "1b730954-1685-4b74-9bfd-dac224a7b894"
$uri = "https://login.microsoftonline.com/${tenant_id}/oauth2/token"
$body = @{grant_type='refresh_token';resource='https://graph.windows.net';client_id=$clientId;refresh_token=$refresh_token}
$result = Invoke-RestMethod -Method Post -Uri $uri -Body $body
$accessToken = $result.access_token
# Connect to AAD
Connect-AzureAD -TenantId $tenant_id -AadAccessToken $accessToken -AccountId $account
Результат
![enter image description here](https://i.stack.imgur.com/pc1zB.png)
Примечание
Обновление содержит информацию о конфиденциальности. Вы должны держать это в безопасности.