Я пытаюсь написать сценарий powershell, который должен объединить командлеты Az и AzureRM для выполнения некоторых задач, которые я хочу сделать.
Что действительно происходит, когда я вызываю все по одному и тому же сценарию:
Connect-AzAccount
Connect-AzureAD
Connect-AzureRMAccount
Сначала я вызываю Get-Credential и сохраняю его в переменной.
Затем я использую эти учетные данные для заполнения -Credential в Connect-AzAccount
Затем из-за многофакторной аутентификации мне нужно позвонить в Connect-AzureAD, который выдает всплывающее окно, позволяющее пользователю вводить электронную почту, пароль и код из текста MFA на телефон.
Позже в сценарии есть некоторые командлеты, которые есть в версии RM, и поэтому я вызываю Connect-AzureRMAccount с предыдущими учетными данными сверху.
$credentials = Get-Credential
$azureCredentials = New-Object System.Management.Automation.PSCredential ($credentials.UserName, $credentials.Password)
Connect-AzAccount -Credential $azureCredentials -Tenant $tenantID -SubscriptionId $subscriptionID
Connect-AzureAD -Tenant $tenantID
Connect-AzureRMAccount -Credential $azureCredentials -Tenant $tenantID -SubscriptionId $subscriptionID
Что на самом деле происходит с точки зрения аутентификации во время всего этого скрипта, где вызываются несколько разных командлетов Connect.
По какой-то причине существует определенный командлет
$AppRegistration = New-AzureADApplication -DisplayName $appName -HomePage $AppURI -IdentifierUris $AppURI -ReplyUrls $AppURI -PasswordCredentials $psadCredential
где я получаю сообщение об ошибке в Powershell, в котором говорится, что мне нужно снова вызвать Connect-AzureAD, хотя он уже был вызван один раз во время сценария. Это время с МИД?
Как мне избежать необходимости заставлять пользователя входить в систему несколько раз после запуска сценария?