Как использовать Connect-AzAccount в Runbook Powershell с AutomationConnection - PullRequest
0 голосов
/ 29 апреля 2019

Все примеры, которые я могу найти для аутентификации Runbook, используют модули AzureRM:

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

Однако, если вы используете новые модули Az, этот код не работает И вы не можете смешивать Модули AzureRM И Модули Az в той же Runbook.Как вы получаете аутентификацию для работы с новыми модулями Az.

1 Ответ

3 голосов
/ 29 апреля 2019

Этот блок можно использовать для аутентификации в Runbook.Обязательно следуйте инструкциям по настройке модуля: Поддержка модуля Az в 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
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...