Start-AzureRmAutomationRunbook не принимает параметр System.String

Я пытаюсь автоматизировать перезагрузку сервера для одной из наших сред в Azure с помощью автоматизации Azure. Я создал один модуль Runbook, чтобы узнать, сколько серверов в сети. Затем пытаюсь передать выходные данные в качестве параметра другому модулю Runbook и получаю сообщение об ошибке.

ниже код.

$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
}
}
$Output = @()
$Running_XenApps = @()
$Output = .\Test.ps1

Foreach ($out in $Output)
{
   $Running_XenApps += $out.Name | Out-String
}


Start-AzureRmAutomationRunbook –AutomationAccountName 'acm2eo-azure- automation' -Name 'Server-Reboot' -ResourceGroupName 'acm2eo-automation' -Parameters $Running_Xenapps -Runon acm2eo-hybrid-group1

Я получаю ошибку ниже.

Start-AzureRmAutomationRunbook : Cannot convert 'System.Object[]' to the type 'System.Collections.IDictionary' requiredby parameter 'Parameters'. Specified method is not supported.

Пожалуйста, дайте мне знать, как это преобразовать.

Заранее спасибо.


person Suman Ghosh    schedule 12.06.2018    source источник


Ответы (1)


Вы должны передать хеш-таблицу / словарь в параметр -Parameter:

$params = @{
    "YourParameterName" = $Running_XenApps
}

Start-AzureRmAutomationRunbook –AutomationAccountName 'acm2eo-azure- automation' -Name 'Server-Reboot' -ResourceGroupName 'acm2eo-automation' -Parameters $params  -Runon acm2eo-hybrid-group1

Как описано здесь: Start-AzureRmAutomationRunbook cmdlet.

person Martin Brandl    schedule 12.06.2018