Если вы хотите подключиться к учетной записи Azure с помощью команды PowerShell Connect-AzureRmAccount
в вашей Runbook, то это действительно не нужно. Как я уже говорил в комментарии, когда вы используете Runbook, вы уже находитесь в точной подписке арендатора с учетной записью. Так что просто запустите свой скрипт без подключения учетной записи.
Если вы действительно хотите подключиться к PowerShell, вы можете использовать принцип обслуживания следующим образом:
Disable-AzureRmContextAutosave –Scope Process
$Conn = Get-AutomationConnection -Name AzureRunAsConnection
Connect-AzureRmAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationID $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
Но я действительно советую вам просто запустить скрипт PowerShell в вашем Runbook напрямую.
Обновление
Когда вы создаете Runbook, у вас будет соединение для запуска скрипта PowerShell. Или вы можете создать соединение как ваше требование. См. Активы подключения в Azure Automation . Вы можете просто использовать соединение по умолчанию, используя такой код:
$connectionName = "AzureRunAsConnection"
try
{
# Get the connection "AzureRunAsConnection "
$servicePrincipalConnection=Get-AutomationConnection -Name $connectionName
"Logging in to Azure..."
Add-AzureRmAccount `
-ServicePrincipal `
-TenantId $servicePrincipalConnection.TenantId `
-ApplicationId $servicePrincipalConnection.ApplicationId `
-CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
}
catch {
if (!$servicePrincipalConnection)
{
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else{
Write-Error -Message $_.Exception
throw $_.Exception
}
}