我正在编写PowerShell脚本以便能够访问我的Azure帐户。从PowerShell命令行,我可以键入Login-AzureRmAccount,手动输入我的登录信息,然后我的帐户的详细信息显示在PowerShell内的终端中。但是,如果我尝试使脚本执行相同的操作,则会出现以下错误:
这是我的代码。注释掉了我到目前为止尝试的其他方式。
# Credential Section
$azureAccountName ='login info here'
$azurePassword = ConvertTo-SecureString 'pass here' -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($azureAccountName, $azurePassword)
Login-AzureRmAccount -Credential $psCred
#$tenantId = "tenant id here"
#$login = "login info here"
#$login1 = 'login info here'
#$pass1 = 'pass here'
#Create Credentials
#$pass = ConvertTo-SecureString 'pass here' -AsPlainText –Force
#$cred = New-Object -TypeName pscredential –ArgumentList $login1, $pass1
#Automate Future Logins
#Login-AzureRmAccount -Credential $psCred #-ServicePrincipal –TenantId $tenantId
$Subscription = Select-AzureSubscription -Default -SubscriptionName "sub info here"
$StorageAccountName = Get-AzureStorageAccount –StorageAccountName "account name here"
$StorageAccountKey = (Get-AzureStorageKey -StorageAccountName $StorageAccountName).Primary
$context = New-AzureStorageContext $StorageAccountName -StorageAccountKey $StorageAccountKey -SubscriptionName $Subscription
Write-Output $context
当我输入Login-AzureRmAccount到终端时,我输入了登录名并手动传递,但执行相同操作的脚本无法登录。有什么想法吗?
答案 0 :(得分:1)
如果您使用的是 - outlook / hotmail帐户等微软帐户,则必然会抛出如上所述的错误。这就是Azure AD的设计方式。请使用任何组织帐户或创建自己的Azure AD,并使用该Azure AD的用户凭据使用“Login-AzureRMAccount”进行登录。
答案 1 :(得分:0)
这些命令对我有用
# Credential Section
$azureAccountName ="aaa@edmistorm.onmicrosoft.com"
$azurePassword = ConvertTo-SecureString "aaaaaabbb" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($azureAccountName, $azurePassword)
Login-AzureRmAccount -Credential $psCred
$Subscription = Select-AzureSubscription -SubscriptionId 6f1ac837-2c76-4fd2-b6ce-8b991a0dec0ad
您可能也想要关注此主题 https://github.com/Azure/azure-powershell/issues/1309