web-dev-qa-db-ja.com

プロンプトなしでログインする方法は?

Nopromptより高速なログインエクスペリエンスを得るために次のコマンドを試しましたが、ログインポップアップが表示されるたびに。私は最初に証明書を使用しようとしましたが、それが機能しなかったため、テナントIDで試行しました。インタラクティブではなくシームレスで高速なログインを行う方法に関するヘルプまたは提案。

Login-AzureRmAccount -SubscriptionId 1238154XXXXfd-1c4121796e58 -TenantId 754XXXXXXXXXXX5d10d8XXX

Add-AzureRmAccount -Tenant "754XXXXXXXXXXX5d10d8XXX" -SubscriptionId "1238154XXXXfd-1c4121796e58"

Login-AzureRmAccount -TenantId 754XXXXXXXXXXX5d10d8XXX

または、常に対話型ログインプロンプト経由で行かなければならないということですか。ポインタをリクエストし、検討と時間を事前に感謝します。

27
H Bala

-CredentialパラメーターとDPAPIを使用してログインできます。

まず、次のPowerShellを1回実行して、アカウントのセキュリティで保護されたパスワードを保存します。

Read-Host "Enter Password" -AsSecureString | ConvertTo-SecureString `
-AsPlainText -Force | ConvertFrom-SecureString | Out-File "C:\Password.txt"

そして、次のスクリプトを使用してログインできます。

# 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

別の方法は、サービスプリンシパルを使用することです。まず、 記事 に従ってサービスプリンシパルを作成する必要があります

次に、次のスクリプトを使用してログインします。

$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
$tenantID = "<the tenant id of your subscription>"

Add-AzureRmAccount -Credential $cred -TenantId $tenantID -ServicePrincipal
33
Jack Zeng

投稿が遅れる可能性がありますが、別の簡単な解決策を見つけたので、他の人を助けるためにここにリストします:

  1. コマンドLogin-AzureRmAccountを使用してAzureアカウントにログインします。
  2. コマンドSave-AzureRmContext -Path "E:\AzureProfile.json"を使用して、コンテキストをJsonファイルに保存します。
  3. これで、コマンドImport-AzureRmContext -Path "E:\AzureProfile.json"を使用して、プロンプトなしでログインできます。
21
Rohit Vats

Live IDを使用している場合、プロンプトなしでログインすることはできません。非対話的にログインすることはできません。

ログインしたら、Save-AzureRmProfileを使用して資格情報を保存できます。これにより、ログイントークンがディスクに保存され、Select-AzureRmProfileを使用して再度ログインできます。ただし、そのトークンは期限切れです。再度ログインします。

プロンプトがまったく表示されずにログインするには、Azure Active Directoryアカウントを作成する必要があります。

その後、このようなものを使用できます

$cred = Get-Credential
Add-AzureRmAccount -Credential $cred

資格情報オブジェクトを作成することもできるため、これを非対話的に使用できます。

5
Michael B

PowerShell ISEを使用できます。

このスクリプトに従ってください:

$password = ConvertTo-SecureString 'Password' -AsPlainText -Force

$credential = New-Object System.Management.Automation.PSCredential ('Username', $password)

Connect-AzureRmAccount -Credential $Credential -Subscription 5a4dtert8-88bc-447c-bb20-b236terteb28e4 -Tenant 0d8trtec-5229-44ca-acc8-dbterte01b993b6

自動生成されるConnect-AzureRmAccount Power Shell ISEを使用したスクリプト

サブスクリプションIDとテナントを$ credential変数で渡します。

enter image description here

1
dgcharitha