Как войти без подсказки?
Я пробовал следующие команды, чтобы получить более быстрый вход в систему с помощью noprompt, но каждый раз, когда я нахожу вход для входа в систему. Я даже пытался использовать сертификат сначала, но так как это не помогло, пытаясь использовать идентификатор арендатора. Любая помощь или предложение о том, как иметь бесшовный и быстрый вход вместо интерактивного.
Login-AzureRmAccount -SubscriptionId 1238154XXXXfd-1c4121796e58 -TenantId 754XXXXXXXXXXX5d10d8XXX
Add-AzureRmAccount -Tenant "754XXXXXXXXXXX5d10d8XXX" -SubscriptionId "1238154XXXXfd-1c4121796e58"
Login-AzureRmAccount -TenantId 754XXXXXXXXXXX5d10d8XXX
Или, что я должен идти через интерактивную подсказку входа всегда. Запросить указатели и заранее поблагодарить за рассмотрение и время.
Ответы
Ответ 1
Вы можете использовать параметр -Credential
и DPAPI для входа в систему.
Сначала запустите следующий PowerShell один раз, чтобы сохранить защищенный пароль для вашей учетной записи.
Read-Host "Enter Password" -AsSecureString | ConvertTo-SecureString `
-AsPlainText -Force | ConvertFrom-SecureString | Out-File "C:\Password.txt"
И затем вы можете использовать следующий script для входа.
# The azure account here must not be a Live ID.
$username = "<your Azure account>"
$SecurePassword = Get-Content "C:\Password.txt" | ConvertTo-SecureString
$cred = new-object -typename System.Management.Automation.PSCredential `
-argumentlist $username, $SecurePassword
Login-AzureRmAccount -Credential $cred
Другим способом будет использование Принципа обслуживания. Во-первых, вы должны следовать статье для создания Принципа обслуживания
И затем используйте следующий script для входа.
$clientID = "<the client id of your AD Application>"
$key = "<the key of your AD Application>"
$SecurePassword = $key | ConvertTo-SecureString -AsPlainText -Force
$cred = new-object -typename System.Management.Automation.PSCredential `
-argumentlist $clientID, $SecurePassword
Add-AzureRmAccount -Credential $cred -Tenant "xxxx-xxxx-xxxx-xxxx" -ServicePrincipal
Ответ 2
Возможно, вам будет поздно публиковать, но я нашел еще одно простое решение, поэтому перечисляю его здесь, чтобы помочь другим:
- Войдите в учетную запись azure с помощью команды
Login-AzureRmAccount
.
- Сохраните контекст в файле Json с помощью команды
Save-AzureRmContext -Path "E:\AzureProfile.json"
.
- Теперь вы можете войти без приглашения с помощью команды:
Import-AzureRmContext -Path "E:\AzureProfile.json"
.
Ответ 3
Если вы используете Live ID, вы не можете войти в систему без подсказки. Вы не можете войти в систему не интерактивно.
После того, как вы вошли в систему, вы можете сохранить свои учетные данные с помощью Save-AzureRmProfile
, это сохранит токен входа на диск, который затем можно будет снова использовать для входа в систему с помощью Select-AzureRmProfile
. Однако этот токен истекает, поэтому вам нужно будет зарегистрировать снова.
Чтобы войти в систему без запроса вообще, вам необходимо создать учетную запись Azure Active Directory.
Затем вы можете использовать что-то вроде этого
$cred = Get-Credential
Add-AzureRmAccount -Credential $cred
Вы также можете создать объект учетных данных, чтобы вы могли использовать его не интерактивно.