命令行活动向导
通过命令行活动向导,可以将命令、参数和参数封装到 Microsoft .NET 程序集(.DLL),从而快速在 Orchestrator 中创建新活动。 该向导使用 Orchestrator SDK 自动创建 C# 源代码,并对其进行编译。 使用此程序集,可以利用 .NET Integration Pack(Integration Toolkit 的一部分)来测试活动,然后使用 Integration Pack 向导将程序集打包到可以像其他集成包一样分发和部署的自定义集成包中。
程序集可以包含一个或多个活动(命令),活动可以是一个或多个可用的命令类型(命令、命令行、PowerShell 或 SSH 命令)。 定义活动名称、命令结构、输入参数,甚至已发布数据(输出)。
Orchestrator 中的活动概述
活动是 Orchestrator Runbook 的单个功能部分。 活动是指在 Runbook 中执行实际工作,并使用可以使用条件定义的链接来联接在一起,以创建工作流分支。 使用 Runbook 设计器生成 Runbook 时,可以将活动从“活动”窗格拖放到 Runbook 中,并将其链接在一起以形成工作流。 运行 Runbook 时,它会按照链接方式按顺序调用每个活动。 每个活动执行特定职责,可以从 Orchestrator 数据总线收集输入数据,并将其输出发布到同一数据总线。 每个活动都能够从 Runbook 中之前运行的任何活动中提取已发布的数据,并发布输出数据允许以下活动访问它。
活动范围从简单到复杂。 可以使用命令行活动向导创建活动,该向导只将文本回显到输出属性。 还可以创建执行复杂多步骤操作(例如虚拟机部署)的单个活动。 由你来定义每个活动将执行的操作。 但是,目标应该是定义封装单个功能集的活动,以便在许多不同类型的情况下轻松重复使用。 关键是灵活性。 最好创建一组 10 个不同的活动,每个活动执行特定操作,并能够以 20 种不同的方式使用这些活动,而不是创建 20 个不同的活动来解决特定的单个方案。 本文档稍后将介绍有关最佳做法的详细信息。
创建新的活动程序集
按照以下步骤创建新的命令行活动程序集:
选择“启动所有程序>”Microsoft System Center 2012 > Orchestrator Integration Toolkit > Orchestrator > 命令行>活动向导
选择下一步。
在“程序集详细信息”页上,输入以字母开头的名称值,后跟零个或多个字母数字字符。 此名称用作程序集和活动的 C# 命名空间标识符。
在 程序集文件中,输入将由此向导创建的程序集文件的路径和文件名。 如果此文件已存在,系统会提示你覆盖该文件。
选择“ 程序集信息”。 可以在此处输入将成为程序集文件的属性的信息,通过文件属性在 Windows 资源管理器中可见。 下表中定义了属性值。 此信息是可选的,不需要生成程序集。
properties 说明 标题 为程序集指定标题,该标题在 Windows 资源管理器属性中显示为 “文件说明 ”属性 说明 指定程序集的可选说明,该说明不会显示在 Windows 资源管理器属性中 产品 指定程序集的产品名称,该名称在 Windows 资源管理器属性中显示为 产品名称 属性 Company 为程序集指定公司名称,该名称不会显示在 Windows 资源管理器属性中 版权 指定程序集的版权声明,该声明在 Windows 资源管理器属性中显示为 “版权 ” 注册商标 指定程序集的商标,该程序集在 Windows 资源管理器属性中显示为法律商标 版本 指定程序集版本和文件版本。 这些属性以文件版本和产品版本的形式显示在 Windows 资源管理器属性中。
版本号有四个部分,如下所示:
<主版本.<次版本.<生成号.<修订版本>>>>输入程序集信息后,选择“ 确定 ”。
选择下一步。 此时 会显示“命令” 页。
按照“向程序集添加命令”中提供的说明添加一个或多个命令。
完成活动定义后,选择“ 确定”。 对话框关闭,新活动将添加到“命令”页上的列表。 如果需要返回并编辑命令,请在列表中选择该命令,然后选择“编辑”。 如果需要删除命令,请在列表中选择该命令,然后选择“ 删除”。
完成添加和修改命令后,请选择“ 下一步”。 编译向导开始时指定的程序集文件,并在进程完成时显示最终向导页。
如果希望立即从此新程序集生成集成包,请选择 “生成集成包”按钮,该按钮启动集成包 向导并从程序集预加载信息。 然后,按照“创建新集成包”中的说明创建集成包。
如果要使用 Invoke .NET 活动测试程序集,或暂时跳过 IP 生成过程,请选择“ 完成”。
将命令添加到程序集
按照以下步骤将命令添加到程序集:
在 “命令 ”页上,可以定义将添加到程序集的一个或多个命令(将成为活动)。 若要添加新命令,请选择“ 添加”。
“ 添加/编辑命令 ”对话框显示并包含三个选项卡: “常规”、“ 参数 ”和 “已发布数据”。 输入命令的名称。 这将成为活动 Runbook 设计器中显示的名称。 还可以选择输入 命令的说明 。
Mode 属性选择器包含四个选项:运行命令、运行 Windows PowerShell、运行程序和运行 SSH 命令。 如果选择了“运行程序”模式,“程序”字段将变为活动状态。 选择省略号按钮(...),然后浏览要运行的程序。
注意
在运行程序命令中选择的程序将在运行包含此活动的 Runbook 的 Runbook 服务器上调用。 因此,此程序必须存在于希望运行 Runbook 的所有 Runbook 服务器上。
选择“参数”选项卡。
在 “命令行 ”字段中,键入活动所需的命令或命令行参数。 如果命令将采用希望用户指定的参数,则需要在 下面的“参数”列表中添加这些参数 ,然后使用“ 插入 ”按钮将它们添加到命令行。
重要
如果为模式指定了运行 Windows PowerShell,并且引用集成包中包含的 PowerShell 脚本,则必须在脚本名称前面加上点和斜杠字符来引用本地目录。 例如,将为名为 MyScript.ps1 的脚本指定 .\MyScript.ps1。 这是因为脚本文件将复制到集成包的默认目录。 当 Windows PowerShell 从本地目录运行脚本时,它必须指定此表示法。
若要为命令行提供参数,请选择“ 添加”。 此时会显示“添加/编辑参数”对话框。
在“名称”字段中,键入要添加的参数的名称。 这是活动属性列表中所示的参数的显示名称。
从“使用模式”下拉列表中,选择要用于参数的模式。 使用模式有两种选择:
使用模式 说明 命令参数 选择此选项可在命令行中将此参数用作参数(使用 “插入” 按钮)。 例如,可以在命令行中放置名为“Folder”的命令参数,如下所示:
Dir $(folder)
注意:如果命令行参数包含空格(如文件夹名称),则可能需要将它们括在引号中,以便命令正常工作。 例如:Dir "$(folder)"
环境变量 选择此选项可将此参数用作将在命令行运行前设置的环境变量。 它可以用作命令行参数,也可以用作运行脚本中的环境变量。
例如,可以将名为“Folder”的环境变量参数放置在命令行中,如下所示:
Dir %Folder%
重要:用户或系统环境中已存在环境变量名称;该命令将失败,并显示类似于以下内容的错误消息:已添加项。字典中的键:正在添加的“folder”密钥:“folder”。 可以通过选择“开始>运行”和键入MSINFO32.EXE
来确定本地或远程计算机上存在哪些环境变量。 然后选择“软件环境变量>”。 若要选择另一台计算机,请按 Ctrl+R>,在网络上选择“远程计算机”,输入计算机名称,然后选择“确定”。<从“ 显示样式 ”下拉列表中,选择用于显示参数的样式。 显示样式确定在向用户显示输入时用户如何与输入交互。 下面介绍了这些选项:
显示样式 说明 文本 用户将显示一个自由格式文本框,用于输入值 加密文本 用户将显示一个屏蔽文本框。 此字段中的数据将在数据库中加密,不会在任何日志中显示 True/False 用户可以从弹出对话框中选择 True 或 False 带所选内容的文本 用户可以从指定的一组 选项 中进行选择 日期/时间 用户可以使用日期/时间选取器控件选择值 文件 用户可以使用文件浏览器控件选择值 文件夹 用户可以使用文件夹浏览器控件选择值 计算机 用户可以使用计算机浏览器控件选择值 如果参数需要或想要提供默认值,请在“默认值”字段中键入它。
如果选择了“ 选择文本”,则会 启用“选项” 字段。 若要添加用户可以选择的选项值,请选择“选项”字段旁边的省略号按钮并输入它们。 每个选项都列在单独的行上。 添加完选项后,选择“ 确定”。
完成参数定义后,选择“ 确定”。
如果定义为 命令参数,则现在可以将光标置于命令行中所需的插入点,然后选择 “插入 ”按钮并选择参数名称,从而将参数添加到命令行。 如果定义为 环境变量,则必须在命令行中手动键入变量(格式 为 %variable%)。
如果选择“运行程序”或“运行命令行”模式,则会启用“包括工作目录”参数的复选框。
选择“ 已发布数据 ”选项卡。通过此选项卡上的设置,可以将输出数据发布到 Orchestrator 数据总线,以便其他活动可以使用这些信息。
若要添加新的已发布数据属性,请选择“ 添加”。
如果在“添加/编辑命令”对话框的“常规”选项卡上的“模式”下拉列表中选择了“运行命令”、“运行程序”或“运行 SSH 命令”选项,则“添加/编辑已发布数据”对话框中会显示以下项:
项 说明 Name 要创建的已发布数据项的显示名称 Source 已发布数据项的源。 可以从命令行中选择标准输出流或标准错误流 模式 要用于选择已发布数据的模式。
使用 匹配模式 确定在源中找到给定模式。 这将返回 True 或 False。
使用 提取组 检索与指定的模式匹配的每个数据项模式 适用于模式设置的正则表达式 说明 Runbook 设计器中已发布数据属性旁显示的说明文本。 (可选) 如果在“添加/编辑命令”对话框的“常规”选项卡上的“模式”下拉列表中选择了“运行 Windows PowerShell”选项,则“添加/编辑已发布数据”对话框中会显示以下项:
项 说明 Name 要创建的已发布数据项的显示名称 properties 将保存到已发布数据项的 Windows PowerShell 属性的名称。 此属性必须包含在脚本期间 PowerShell 管道的对象输出中,并且不能是对象(应能够转换为字符串)。 说明 Runbook 设计器中已发布数据属性旁显示的说明文本。 (可选) 选择“确定”以完成添加已发布数据项。 对要添加的每个已发布数据项重复步骤 16-18。
选择“确定”关闭“添加/编辑命令”对话框并返回到“命令”对话框。
测试活动程序集
创建程序集后,可以使用 Invoke .NET 活动(包含在适用于 .NET 的 Integration Toolkit IP 中)对其进行测试,以便在将其转换为自定义集成包之前验证它是否按预期工作。
测试程序集
按照以下步骤测试程序集:
打开 Runbook 设计器。
创建一个新的 Runbook。
在“活动”窗格中,选择“集成工具包”类别将其展开,并将 Invoke .NET 活动拖到新的 Runbook 中。
双击“调用 .NET”对象以查看 “属性 ”对话框。
在 “程序集 ”字段中,通过选择字段右侧的省略号按钮(...)浏览使用命令行活动向导(或通过 SDK 的自定义开发创建的程序集文件)。 选择该文件,然后选择“ 打开”。
选择“类”字段右侧的省略号按钮以查看程序集中各个命令的列表。 选择命令类,然后选择“ 确定”。 此类的参数显示在 对话框的“属性 ”选项卡上。
安装程序字段仅由使用 Orchestrator SDK 和 OrchestratorData 属性的自定义开发的类使用。 有关 SDK 的详细信息,请参阅 System Center Orchestrator Integration Toolkit SDK。
选择“属性”选项卡。
根据需要提供每个属性的信息。
选择“完成”以保存设置并返回到 Runbook。
在 Runbook 设计器的工具栏中选择 Runbook 测试器。 Runbook 测试器启动。
在工具栏中选择“ 运行到断点 ”。 Runbook 将启动,活动运行。 活动的结果显示在 “运行日志 ”窗格中。
在“运行日志”窗格中的活动名称下选择“ 显示详细信息 ”以查看详细结果,包括输入属性和已发布数据。
QIK CLI 活动迁移
如果你的程序集是使用 Opalis 6.3 QIK CLI 向导创建的,则需要将其转换为与 Orchestrator 兼容,然后才能在 Orchestrator 集成包中使用,或通过 Invoke .NET 活动直接在 Runbook 中使用。 转换过程很简单,每个程序集只需几秒钟。
重要
如果Microsoft .NET Framework 3.5,则 Orchestrator Integration Toolkit 的安装不会失败,但命令行活动向导中的不同操作将失败(如果不存在)。 在使用 CLI 之前,请确保安装 Microsoft .NET Framework 3.5 Service Pack 1。
转换 Opalis QIK CLI 程序集
按照以下步骤转换 Opalis QIK CLI 程序集:
通过选择“启动 > 所有程序 > ”Microsoft System Center 2012 > Orchestrator 命令行活动向导来启动 Orchestrator > 命令行活动向导
向导加载时,选择第一页上的 “加载现有程序集 ”按钮。
选择现有的程序集文件,然后选择“ 打开”。 显示程序集的名称和文件位置。
修改文件路径,以便将更改保存到新文件。 如有必要,还可以更改程序集的名称。
如果需要对程序集信息详细信息进行进一步更改,请选择“ 程序集信息 ”按钮并进行这些更改。 完成后选择“ 确定 ”以返回到“程序集详细信息”页。
选择“下一步”转到“命令”页。 应会看到以前在程序集中定义的命令列表。 如有必要,请查看命令,然后选择“下一步”以继续转到“生成程序集”页。
将为你生成新程序集,并使用前面定义的路径和文件名进行保存。
现在可以在 Runbook 中使用与 Invoke .NET 活动兼容的新 Orchestrator 兼容的程序集,也可以通过选择 “生成集成包”按钮从此程序集生成集成包 。 如果不想此时生成 IP,请选择“ 关闭 ”以结束向导。
Orchestrator 资源
除了为 System Center 2012 Orchestrator 提供的此联机参考之外,还有一些资源可以提供有关使用 Integration Toolkit 生成 Runbook 和最佳做法的其他信息。