Как войти без подсказки?

Я пробовал следующие команды, чтобы получить более быстрый вход в систему с помощью 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

Вы также можете создать объект учетных данных, чтобы вы могли использовать его не интерактивно.