2

我可以找到的所有对 Runbook 进行身份验证的示例都使用 AzureRM 模块:

$connectionName = "AzureRunAsConnection"
$servicePrincipalConnection=Get-AutomationConnection -Name $connectionName         
Add-AzureRmAccount `
        -ServicePrincipal `
        -TenantId $servicePrincipalConnection.TenantId `
        -ApplicationId $servicePrincipalConnection.ApplicationId `
        -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint 

但是,如果您使用的是新的 Az 模块,则此代码不起作用,并且您不能在同一个 Runbook 中混合使用 AzureRM 模块Az 模块。如何获得身份验证以使用新的 Az 模块。

4

1 回答 1

12

此块可用于在 Runbook 中进行身份验证。请务必遵循模块配置说明: Azure 自动化中的 Az 模块支持

$connectionName = "AzureRunAsConnection"
try
{
    # Get the connection "AzureRunAsConnection "

    $servicePrincipalConnection = Get-AutomationConnection -Name $connectionName

    "Logging in to Azure..."
    $connectionResult =  Connect-AzAccount -Tenant $servicePrincipalConnection.TenantID `
                             -ApplicationId $servicePrincipalConnection.ApplicationID   `
                             -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint `
                             -ServicePrincipal
    "Logged in."

}
catch {
    if (!$servicePrincipalConnection)
    {
        $ErrorMessage = "Connection $connectionName not found."
        throw $ErrorMessage
    } else{
        Write-Error -Message $_.Exception
        throw $_.Exception
    }
}
于 2019-04-29T18:52:33.710 回答