命令行活动向导

重要

此版本的 Orchestrator 已终止支持。 建议 升级到 Orchestrator 2019

使用Command-Line活动向导,可以通过将命令、参数和参数封装到 Microsoft .NET 程序集 (.DLL) ,在 Orchestrator 中快速创建新活动。 该向导自动使用 Orchestrator SDK 创建 C# 源代码,并进行编译。 使用此程序集,可以利用 .NET Integration Pack (Integration Toolkit) 的一部分来测试活动,然后使用集成包向导将程序集打包到可以像其他集成包一样分发和部署的自定义集成包中。

程序集可以包含一个或多个活动 (命令) ,这些活动可以是一个或多个可用的命令类型, (命令、命令行、PowerShell 或 SSH 命令) 。 定义活动名称、命令结构、输入参数,甚至已发布的数据 (输出) 。

Orchestrator 中的活动概述

活动是 Orchestrator Runbook 的单个功能部分。 活动是 Runbook 中实际工作的内容,并使用可使用创建工作流分支的条件定义的链接联接在一起。 使用 Runbook 设计器生成 Runbook 时,可将活动从“活动”窗格拖放到 Runbook 中,并将其链接在一起以形成工作流。 Runbook 运行时,它会根据每个活动的链接方式按顺序调用它们。 每个活动执行特定任务,可以从 Orchestrator 数据总线收集输入数据,并将其输出发布到同一数据总线。 每个活动都可以从 Runbook 中之前运行的任何活动中提取已发布数据,并且发布输出数据允许以下活动访问这些数据。

活动范围从简单到复杂。 可以使用Command-Line活动向导创建活动,该向导只向输出属性回显文本。 还可以创建单个活动,用于执行复杂的多步骤操作,例如虚拟机部署。 由你来定义每个活动将执行的操作。 但是,目标应该是定义封装单个功能集的活动,以便在许多不同类型的情况下轻松重用。 关键是灵活性。 最好创建一组 10 个不同的活动,每个活动执行特定操作,并且能够以 20 种不同的方式使用这些活动,而不是创建 20 个不同的活动来解决特定的单个方案。 本文档稍后将介绍有关最佳做法的详细信息。

创建新的活动程序集

创建新的命令行活动程序集

按照以下步骤创建新的命令行活动程序集:

  1. 选择“启动>所有程序”>“Microsoft System Center 2012 > Orchestrator > Integration Toolkit > Orchestrator Command-Line活动向导

  2. 选择“下一步”。

  3. “程序集详细信息” 页上,为 “名称” 输入一个值,该值以字母开头,后跟零个或多个字母数字字符。 此名称用作程序集和活动的 C# 命名空间标识符。

  4. “程序集文件”中,输入此向导将创建的程序集文件的路径和文件名。 如果此文件已存在,系统会提示你覆盖该文件。

  5. 选择 “程序集信息”。 可以在此处输入将成为程序集文件属性的信息,通过文件属性在 Windows 资源管理器中可见。 下表中定义了属性值。 此信息是可选的,不需要生成程序集。

    属性 说明
    标题 指定程序集的标题,该标题在 Windows 资源管理器属性中显示为 “文件说明 ”属性
    说明 指定程序集的可选说明,该说明不显示在 Windows 资源管理器属性中
    产品 指定程序集的产品名称,该名称在 Windows 资源管理器属性中显示为 “产品名称 ”属性
    Company 指定程序集的公司名称,该名称不会显示在 Windows 资源管理器属性中
    版权信息 指定程序集的版权声明,该声明在 Windows 资源管理器属性中显示为“版权”
    商标 指定程序集的商标,该商标在 Windows 资源管理器属性中显示为法律商标
    版本 指定程序集版本和文件版本。 这些属性在 Windows 资源管理器属性中显示为 “文件版本” 和“ 产品版本”。

    版本号包含四个部分,如下所示:

    <主要版本>。<次要版本>。<内部版本号>。<修订>
  6. 输入完程序集信息后,选择“ 确定 ”。

  7. 选择“下一步”。 将显示 “命令 ”页。

  8. 按照将命令添加到程序集中提供的说明添加一个或多个 命令

  9. 完成活动定义后,选择“ 确定”。 对话框将关闭,新活动将添加到 “命令 ”页上的列表中。 如果需要返回并编辑命令,请在列表中选择命令,然后选择“编辑”。 如果需要删除命令,请在列表中选择命令,然后选择“ 删除”。

  10. 完成添加和修改命令后,选择“ 下一步”。 编译在向导开始时指定的程序集文件,当该过程完成时,将显示最终的向导页。

  11. 如果要立即从此新程序集生成集成包,请选择“ 生成集成包 ”按钮,这将启动集成包向导并从程序集预加载信息。 然后,按照 创建新集成包 中的说明创建集成包。

  12. 如果要使用调用 .NET 活动测试程序集,或者暂时跳过 IP 生成过程,请选择“ 完成”。

向程序集添加命令

将命令添加到程序集

按照以下步骤将命令添加到程序集:

  1. “命令 ”页上,可以定义一个或多个命令 (这些命令成为将添加到程序集的活动) 。 若要添加新命令,请选择“ 添加”。

  2. 添加/编辑命令 ”对话框显示并包含三个选项卡: “常规”、“ 参数”“已发布数据”。 输入命令 的名称 。 这将成为活动 Runbook 设计器中显示的名称。 还可以选择为命令输入 “说明 ”。

  3. Mode 属性选择器包含四个选项:运行命令、运行Windows PowerShell、运行程序和运行 SSH 命令。 如果选择了 “运行程序” 模式,“ 程序 ”字段将变为活动状态。 选择省略号按钮 (...) ,然后浏览找到要运行的程序。

    注意

    将在运行包含此活动的 Runbook 的 Runbook 服务器上调用在“运行程序”命令中选择的程序。 因此,此程序必须存在于你希望运行 Runbook 的所有 Runbook 服务器上。

  4. 选择“ 参数 ”选项卡。

  5. “命令行” 字段中,键入活动所需的命令或命令行参数。 如果命令将采用希望用户指定的参数,则需要在下面的 “参数 ”列表中添加这些参数,然后使用“ 插入 ”按钮将它们添加到命令行。

    重要

    如果为模式指定了“运行Windows PowerShell”,并且引用了集成包随附的 PowerShell 脚本,则必须在脚本名称前面加上点和斜杠字符,以引用本地目录。 例如,将为名为 MyScript.ps1 的脚本指定 .\MyScript.ps1。 这是因为脚本文件将复制到集成包的默认目录。 Windows PowerShell从本地目录运行脚本时,必须指定此表示法。

  6. 若要为命令行提供参数,请选择“ 添加”。 此时将显示 “添加/编辑参数 ”对话框。

  7. 在“名称”字段中,键入要添加的参数的名称。 这是在活动的“属性”列表中显示的参数的显示名称。

  8. 从“使用模式”下拉列表中,选择要用于 参数的模式。 使用模式有两种选择:

    使用模式 说明
    命令参数 选择此选项可在命令行中使用此参数, (使用 “插入 ”按钮) 。 例如,可以在命令行中放置名为“Folder”的命令参数,如下所示:

    Dir $(folder)注意: 如果命令行参数包含空格 ((例如文件夹名称) ),则可能需要将它们括在引号中才能使命令正常工作。 例如: Dir "$(folder)"
    环境变量 选择此选项可将此参数用作在运行命令行之前设置的环境变量。 它可以用作命令行参数或运行脚本中的环境变量。

    例如,可以在命令行中放置名为“Folder”的环境变量参数,如下所示:

    Dir %Folder%重要:环境变量名称已存在于用户或系统环境中;命令将失败,并显示类似于以下内容的错误消息:已添加项。字典中的键:“folder”正在添加的键:“folder”。 可以通过选择“ 开始 > 运行”并键入 MSINFO32.EXE来确定本地或远程计算机上存在的环境变量。 然后选择“ 软件环境 > 环境变量”。 若要选择另一台计算机,请按 <Ctrl+R>,在网络上选择“ 远程计算机”,输入计算机名称,然后选择“ 确定”。
  9. “显示样式 ”下拉列表中,选择用于显示参数的样式。 显示样式确定用户在呈现输入时如何与输入交互。 下面介绍了这些选项:

    显示样式 说明
    文本 将向用户显示一个自由格式文本框,用于输入值
    加密文本 用户会看到一个屏蔽的文本框。 此字段中的数据将在数据库中加密,不会显示在任何日志中
    True/False 用户可以从弹出对话框中选择“True”或“False”
    带选定内容的文本 用户可以从你指定的 一组选项 中进行选择
    日期/时间 用户可以使用日期/时间选取器控件选择值
    文件 用户可以使用文件浏览器控件选择值
    文件夹 用户可以使用文件夹浏览器控件选择值
    Computer 用户可以使用计算机浏览器控件选择值
  10. 如果参数需要或你想要提供默认值,请在 “默认值” 字段中键入它。

  11. 如果选择了“ 带选定内容的文本”,则会启用 “选项” 字段。 若要添加用户可以从中选择的选项值,请选择“ 选项” 字段旁边的省略号按钮并输入它们。 每个选项都列在单独的行中。 添加完选项后,选择“ 确定”。

  12. 完成参数定义后,选择“ 确定”。

  13. 如果定义为 命令参数,则现在可以将参数添加到命令行,方法是将光标置于命令行中所需的插入点,然后选择 “插入 ”按钮并选择参数名称。 如果定义为 环境变量,则必须在命令行中手动键入变量 (% variable%) 格式。

  14. 如果选择了 “运行程序”“运行命令行” 模式,则会启用“ 包含工作目录参数 ”复选框。

  15. 选择“ 已发布数据 ”选项卡。通过此选项卡上的设置,可以将输出数据发布到 Orchestrator 数据总线,以便其他活动可以使用这些信息。

  16. 若要添加新的已发布数据属性,请选择“ 添加”。

  17. 如果从“添加/编辑命令”对话框的“常规”选项卡上的“模式”下拉列表中选择了“运行命令”、“运行程序”或“运行 SSH 命令”选项,则会在“添加/编辑已发布数据”对话框中显示以下项:

    描述
    名称 要创建的已发布数据项的显示名称
    已发布数据项的源。 可以从命令行中选择标准输出流标准错误流
    “模式” 要用于选择已发布数据的模式。

    使用 匹配模式 确定在源中是否找到了给定模式。 这将返回 TrueFalse

    使用 提取组 检索与指定的模式匹配的每个数据项
    模式 应用于 Mode 设置的正则表达式
    说明 在 Runbook 设计器中已发布的数据属性旁边显示的说明文本。 (可选)
  18. 如果从“添加/编辑命令”对话框的“常规”选项卡上的“模式”下拉列表中选择了“运行Windows PowerShell”选项,则以下项将显示在“添加/编辑已发布数据”对话框中:

    描述
    名称 要创建的已发布数据项的显示名称
    属性 将保存到已发布数据项的 Windows PowerShell 属性的名称。 在脚本期间,此属性必须包含在 PowerShell 管道的对象输出中,并且不能是对象 (应能够转换为字符串) 。
    说明 在 Runbook 设计器中已发布的数据属性旁边显示的说明文本。 (可选)
  19. 选择 “确定” 以完成添加已发布数据项。 对要添加的每个已发布数据项重复步骤 16-18。

  20. 选择 “确定” 关闭“添加/编辑命令”对话框并返回到“命令”对话框。

测试活动程序集

创建程序集后,可以使用适用于 .NET) 的 Integration Toolkit IP 中包含的调用 .NET 活动 (对其进行测试,以验证它是否按预期工作,然后再将其转换为自定义集成包。

测试程序集

按照以下步骤测试程序集:

  1. 打开 Runbook 设计器。

  2. 创建一个新的 Runbook。

  3. 在“ 活动 ”窗格中,选择 “集成工具包” 类别以将其展开,并将 Invoke .NET 活动拖到新的 Runbook 中。

  4. 双击“调用 .NET”对象以查看“ 属性 ”对话框。

  5. 在“ 程序集” 字段中,通过选择字段右侧的省略号按钮 (...) ,浏览使用Command-Line活动向导 (或通过 SDK) 的自定义开发创建的程序集文件。 选择文件,然后选择“ 打开”。

  6. 选择 “类” 字段右侧的省略号按钮,查看程序集中各个命令的列表。 选择命令类,然后选择 “确定”。 此类的参数显示在对话框的“ 属性 ”选项卡上。

  7. “设置”字段仅由使用 Orchestrator SDK 和 OrchestratorData 属性的自定义开发的类使用。 有关 SDK 的详细信息,请参阅 System Center Orchestrator Integration Toolkit SDK

  8. 选择“属性”选项卡。

  9. 根据需要提供每个属性的信息。

  10. 选择“ 完成 ”以保存设置并返回到 Runbook。

  11. Runbook 设计器的工具栏中选择 Runbook Tester。 Runbook 测试器启动。

  12. 在工具栏中选择 “运行到断点 ”。 Runbook 启动,活动运行。 活动的结果显示在“ 运行日志 ”窗格中。

  13. 在“运行日志”窗格的活动名称下 选择“显示详细信息 ”,查看详细结果,包括输入属性和已发布数据。

QIK CLI 活动迁移

如果程序集是使用 Opalis 6.3 QIK CLI 向导创建的,则需要将其转换为与 Orchestrator 兼容,然后才能在 Orchestrator 集成包中使用或通过 Invoke .NET 活动直接在 Runbook 中使用。 转换过程很简单,每个程序集只需几秒钟。

重要

如果未安装 Microsoft .NET Framework 3.5 Service Pack 1,则 Orchestrator Integration Toolkit 的安装不会失败,但如果不存在,则Command-Line活动向导中的不同操作将失败。 在使用 CLI 之前,请确保已安装 Microsoft .NET Framework 3.5 Service Pack 1。

转换 Opalis QIK CLI 程序集

按照以下步骤转换 Opalis QIK CLI 程序集:

  1. 通过选择“启动 > 所有程序 > ”Microsoft System Center 2012 > Orchestrator Command-Line活动向导,启动 Orchestrator > Command-Line 活动向导

  2. 加载向导时,选择第一页上的“ 加载现有程序集 ”按钮。

  3. 选择现有的程序集文件,然后选择“ 打开”。 将显示程序集的名称和文件位置。

  4. 修改文件路径,以便将更改保存到新文件。 如有必要,还可以更改程序集的名称。

  5. 如果需要对程序集信息详细信息进行进一步更改,请选择“ 程序集信息 ”按钮并进行更改。 完成后选择 “确定” 以返回到“程序集详细信息”页。

  6. 选择“ 下一步 ”转到“命令”页。 应会看到先前在程序集中定义的命令列表。 如有必要,请查看命令,然后选择“ 下一步 ”以继续转到 “生成程序集” 页。

  7. 新程序集将为你生成并使用之前定义的路径和文件名进行保存。

  8. 现在,可以使用 Runbook 中新的与 Orchestrator 兼容的程序集和 Invoke .NET 活动,也可以通过选择“生成集成包”按钮从此程序集 生成集成包 。 如果不希望此时生成 IP,请选择“ 关闭 ”以结束向导。

Orchestrator 资源

除了为 System Center 2012 Orchestrator 提供的联机参考外,还有许多资源可以提供有关使用集成工具包生成 Runbook 和最佳做法的其他信息。