2016-03-08 2 views
0

После добавления рабочей книги с параметрами я не могу ее запустить, либо в тестовой панели, либо в качестве задания после публикации.Azure Automation - Параметры Runbook не найдены?

  • Runbooks, которые существовали до этого, заполняют параметры.
  • Невозможно запустить тестовое задание в ISE (иначе это не проблема портала/браузера).
  • GET из API ARM возвращает рабочую книгу с пустым свойством Parameters.

[изменить] Возможно, я должен добавить, что это не имеет значения, если у меня есть [CmdletBinding()] указан или нет. [/ Править]

example

ответ

2

runbook (сценарий) в вашем скриншоте содержит определение функции (который принимает параметры), но не всегда вызывает функцию. Ваша рабочая книга не принимает параметры, функция выполняет. Поэтому на тестовой панели нет параметров.

Попробуйте это:

param([string]$Bar) 

function test-set { 
    param([string]$Bar) 
    "$Bar" 
} 

test-set -Bar $Bar 
0

Моя память об этой 'поддержке' неверен. Как указывает Джо, рабочие книги Workflow требуют объявления функции, но сценарии старой школы этого не делают.

Комментируя function func-name { } бит позволяет параметры runbook можно найти снова ..

+0

"Раньше эти сценарии могут включать в себя Func имя-функции {} синтаксис." - Не думайте, что это правда. Возможно, вы думаете о синтаксисе «workflow-name {}» рабочего процесса, как это делается для runbooks PowerShell Workflow. Но это скрипт сценария PowerShell. – Joe

+0

Я раскопал старые версии скриптов, из которых было воспоминание, и обнаружил, что они сделали вызов func в конце, разделив PSBoundParameters. Должно быть, было отказано от попыток протестировать их локально в ISE, чтобы выловить ошибки, которые не произойдут или не будут отображаться одинаково после опубликования. – JoeBrockhaus

Смежные вопросы