Start-AzureRmAutomationRunbook не принимает параметр System.String - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь автоматизировать перезагрузку сервера для одной из наших сред в 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.

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

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

1 Ответ

0 голосов
/ 12 июня 2018

Вы должны передать хеш-таблицу / словарь параметру -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.

...