即使在 Azure 中导入 PublishSettings 后仍然需要 Login-RmAAzureAccount

Still requiring Login-RmAzureAccount even after importing PublishSettings in Azure

我正在尝试使用 publishsettings 文件通过 PowerShell 脚本登录 Azure 帐户;但是,我仍然发现它要求我使用 Login-AzureRmAccount 登录我的帐户,无论是否拥有这些凭据。

我的步骤看起来像这样:

清除所有可能可用的帐户: Get-AzureAccount | ForEach-Object { Remove-AzureAccount $_.ID -Force }

下载 PublishSettings 文件:Import-AzurePublishSettingsFile –PublishSettingsFile $PublishSettingsFileNameWithPath

Select 使用订阅 ID 的 Azure 订阅: Select-AzureRMSubscription -SubscriptionId $SubscriptionId

最后,在部署之前在订阅中创建一个新的资源组:New-AzureRmResourceGroup -Name $ResourceGroupName -Location $ResourceGroupLocation -Verbose -Force 2>> .\errorCIMS_RG.txt | Out-File .\rgDetailsCIMS_RG.txt

然而,这个是在抛出错误的时候:Run Login-AzureRmAccount to login.

假设我有 PublishSettings 文件,而且它还没有过期,为什么会返回错误?

我通过更新到最新版本的 azure powershell cmdlet 解决了这个问题。 你可以在这里找到最后一个: https://github.com/Azure/azure-powershell/releases

正如 Mihail 所说,我们应该先检查 Azure PowerShell 版本,然后安装最新版本。
我们可以 运行 这个命令来列出 Azure PowerShell 版本:
Get-Module -ListAvailable -Name Azure -Refresh

顺便说一句,Import-AzurePublishSettingsFile是为ASM工作的,New-AzureRmResourceGroup是ARM命令,所以如果你想创建资源组,你应该先Login-AzureRmAccount

:

The AzureResourceManager module does not support publish settings files.

更多关于Import-AzurePublishSettingsFile的信息,请参考这篇link