【问题标题】:Azure Automation - Runbook parameters not found?Azure 自动化 - 未找到 Runbook 参数?
【发布时间】:2016-06-22 17:59:25
【问题描述】:

添加带有参数的 Runbook 后,我无法在测试窗格中启动它,也无法在发布后作为作业启动它。

  • 在此之前存在的 Runbook 会填充参数。
  • 无法在 ISE 中启动测试作业(也就是说,这不仅仅是门户/浏览器问题)。
  • 来自 ARM API 的 GET 返回具有空参数属性的运行手册。

[edit] 我可能应该补充一点,我是否指定了[CmdletBinding()] 并不重要。 [/编辑]

【问题讨论】:

    标签: azure azure-automation


    【解决方案1】:

    屏幕截图中的运行手册(脚本)包含函数定义(接受参数),但从未调用该函数。您的 Runbook 不带参数,函数可以。这就是测试窗格没有显示任何参数的原因。

    试试这个:

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

    【讨论】:

      【解决方案2】:

      我对这个“支持”的记忆不正确。正如 Joe 所指出的,工作流运行手册需要函数声明,但老式脚本不需要。

      注释function func-name { } 位允许再次找到运行手册参数..

      【讨论】:

      • “以前,这些脚本可能包含函数 func-name { } 语法。” - 不要认为那是真的。您可能正在考虑“工作流工作流名称 {}”语法,它是为 PowerShell 工作流运行手册完成的。但这是一个 PowerShell 脚本运行手册。
      • 我发掘了回忆的旧版本脚本,发现它们确实在最后进行了 func 调用,溅出 PSBoundParameters。一定是试图在 ISE 中对它们进行全部本地测试,以找出不会发生或一旦发布后就不会出现的错误。
      猜你喜欢
      • 2019-05-17
      • 2020-10-30
      • 1970-01-01
      • 2018-06-12
      • 2017-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多