如何在Powershell Runbook中使用Connect-AzAccount和AutomationConnection

问题描述 投票:0回答:1

我可以找到的用于验证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模块进行身份验证。

powershell azure-automation azure-runbook azure-rm
1个回答
3
投票

此块可用于在Runbook中进行身份验证。请务必遵循模块配置说明:Az module support in Azure Automation

$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
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.