1

我正在尝试使用 Azure 自动化帐户来运行一些作业,但我正在努力安装 AzureRM 模块。我手动安装了一些 Az 模块,但 PowerShell ISE 仍在使用 AzureRM,例如尝试在下面建立 RunAs 连接,

$RunAsConnection = Get-AutomationConnection -Name AzureRunAsConnection;try {$Login=Add-AzureRmAccount -ServicePrincipal
-TenantId $RunAsConnection.TenantId -ApplicationId $RunAsConnection.ApplicationId -CertificateThumbprint $RunAsConnection.CertificateThumbprint -ErrorAction Stop}catch{Sleep 10;$Login=Add-AzureRmAccount -ServicePrincipal -TenantId $RunAsConnection.TenantId -ApplicationId $RunAsConnection.ApplicationId -CertificateThumbprint $RunAsConnection.CertificateThumbprint};Set-AzureRmContext
-SubscriptionId $RunAsConnection.SubscriptionID

然后,我必须手动将其修改为下面的代码并且它可以工作。

$RunAsConnection = Get-AutomationConnection -Name AzureRunAsConnection;try {$Login=Add-AzureRmAccount -ServicePrincipal -TenantId $RunAsConnection.TenantId -ApplicationId $RunAsConnection.ApplicationId -CertificateThumbprint $RunAsConnection.CertificateThumbprint -ErrorAction Stop}catch{Sleep 10;$Login=Add-AzAccount -ServicePrincipal -TenantId $RunAsConnection.TenantId -ApplicationId $RunAsConnection.ApplicationId -CertificateThumbprint $RunAsConnection.CertificateThumbprint};Set-AzContext -SubscriptionId $RunAsConnection.SubscriptionID

如何解决此问题以及如何强制自动化帐户使用 Az 而不是 Azure RM?

谢谢!

4

1 回答 1

3

导入 Az 模块后,可以Connect-AzAccount用于身份验证,然后直接使用其他Azcmdlet。

一个示例是在自动化运行手册中使用Get-AzWebApp(需要导入Az.Websites模块,如前所述)获取 azure web 应用程序详细信息:

$connection = Get-AutomationConnection -Name AzureRunAsConnection
$connectionResult = Connect-AzAccount -ServicePrincipal -Tenant $connection.TenantID -ApplicationId $connection.ApplicationID -CertificateThumbprint $connection.CertificateThumbprint

#the cmdlet to get azure web app details
Get-AzWebApp -ResourceGroupName xxx
于 2020-03-09T02:45:09.303 回答