在 Configuration Manager 中创建和使用业务流程组
适用于: Configuration Manager(current branch)
使用业务流程组可以灵活地根据百分比、特定数字或显式顺序更新设备。 还可以在设备运行更新部署之前和之后运行 PowerShell 脚本。
业务流程组的成员可以是任何Configuration Manager客户端,而不仅仅是服务器。 业务流程组规则适用于所有软件更新部署的设备,适用于包含业务流程组成员的任何集合。 其他部署行为仍适用。 例如,维护时段和部署计划。
创建业务流程组
验证业务流程组 的先决条件、权限和限制 。
在Configuration Manager控制台中,转到“资产和符合性”工作区,然后选择“业务流程组”节点。
在功能区中,选择“ 创建业务流程组 ”以打开 “创建业务流程组向导”。
在“ 常规 ”页上,为业务流程组提供 “名称” 和“ 说明”(可选)。 为以下项指定值:
- 业务流程组超时 (以分钟) :所有组成员完成更新安装的时间限制。
- 业务流程组成员超时 (分钟) :组中单个设备完成更新安装的时间限制。
在“ 成员选择” 页上,首先指定 站点代码。 然后选择“ 添加 ”,将设备资源添加为此业务流程组的成员。 按名称搜索设备,然后添加它们。 还可以使用“ 在集合中搜索”将搜索筛选为单个集合。 将设备添加到所选资源列表后,选择 “确定 ”。
- 为组选择资源时,仅显示有效的客户端。 检查站点代码、客户端是否已安装以及资源是否不重复。
在 “规则选择” 页上,选择以下选项之一:
允许同时更新计算机百分比,然后选择或输入此百分比的数字。 使用此设置可以灵活调整业务流程组的大小。 例如,业务流程组包含 50 个设备,将此值设置为 10。 在软件更新部署期间,Configuration Manager允许五台设备同时运行部署。 如果稍后将业务流程组的大小增加到 100 个设备,则同时更新 10 台设备。
允许同时更新多个计算机,然后为此特定计数选择或输入一个数字。 使用此设置始终限制为特定数量的设备,无论业务流程组的总体大小如何。
指定维护顺序,然后按正确的顺序对所选资源进行排序。 使用此设置可以显式定义设备运行软件更新部署的顺序。
如果需要,请在“脚本选取器”页上为业务流程组选择安装前脚本和安装后脚本。
- 预脚本:部署运行 前 在每个设备上运行的 PowerShell 脚本。
- “脚本”页后 ,输入在部署运行并发生重启(如果需要) 后 在每个设备上运行的 PowerShell 脚本。 否则,该行为与 PreScript 相同。
对于成功,脚本应返回 值
0
。 任何非零值都被视为脚本失败。 无法使用 带参数的脚本,并且最大脚本长度为 50,000 个字节,即 25,000 个字符, (使用 Unicode 编码) 。 在“ 脚本选取器 ”页上添加或修改脚本时,请从以下选项中进行选择:-
添加:允许选择要添加的脚本。 在窗格中键入或粘贴 PowerShell 脚本,或者使用以下选项之一:
-
打开:打开特定
.ps1
文件 - 浏览:从“脚本”列表中选择已批准的 脚本 。 带有参数的脚本将从列表中隐藏。
- 清除:清除脚本窗格中的当前脚本
-
打开:打开特定
- 编辑:编辑当前选定的脚本
- 删除:删除当前脚本
- 脚本超时 ((以秒为单位) ):脚本在超时之前允许运行的时间(以秒为单位)
完成该向导。
警告
- 从版本 2111 开始,前脚本和后脚本 需要审批 才能生效。 在批准后编辑脚本会将审批状态重置 为“正在等待审批”。 未获得批准的脚本将不会在客户端上运行。
- 在版本 2103 及更高版本中,不支持 具有参数的脚本,并且最大脚本长度为 50,000 字节,即 25,000 个字符 (,因为我们使用 Unicode 编码) 。
- 对于 Configuration Manager 2010 及更早版本,请将脚本添加到“前脚本”和“后脚本”页上的业务流程组。
- 在将前脚本和后脚本用于业务流程组之前,请确保它们已经过测试。 前脚本和后脚本不会超时,将一直运行到业务流程组成员超时。 不支持 具有参数的脚本,最大脚本长度为 5,000 个字符。
业务流程组脚本的审批
(在版本 2111) 中引入
从版本 2111 开始,业务流程组的前脚本和后脚本需要批准才能生效。 如果从文件、创作或修改自己的脚本中选择脚本,则需要其他管理员批准该脚本。从 脚本 库选择已批准的脚本时,无需其他审批。 默认情况下,用户无法批准他们创作的脚本。 这些角色提供了额外的安全级别,防止在没有监督的情况下运行脚本。 为了便于测试,可以通过更改层次结构设置来 禁用环境的脚本审批 。
为了帮助你进行脚本审批,在版本 2111 中,业务流程 组 的详细信息窗格中添加了以下两个选项卡:
- 摘要:包含有关所选业务流程组的信息,包括脚本的 审批状态 。
- 脚本:列出有关前脚本和后脚本的信息,包括每个脚本的超时、审批者和审批状态。
前脚本和后脚本的审批状态
每个脚本的审批状态显示在“ 脚本 ”选项卡中。在批准后编辑脚本将重置审批状态。 下面定义了每个脚本的 审批状态 :
-
已批准:脚本已批准。 通过以下任一方式授予批准:
- 从批准的 PowerShell 脚本列表中选择脚本
- 通过从功能区或右键单击菜单中选择“ 批准 ”,手动批准脚本。
-
正在等待审批:脚本正在等待审批。 直接在代码编辑器中编写或编辑或从
.ps1
文件导入的脚本将在此审批状态下开始。 - 已拒绝:脚本在审批过程中被拒绝。
警告
在批准后编辑脚本会将审批状态重置 为“正在等待审批”。 这也意味着,如果在该脚本处于 “等待审批” 状态时在组上启动业务流程,则之前批准的脚本版本将不会运行。 未获得批准的脚本将不会在客户端上运行。
提示
在不中断任何中断的情况下更新脚本的一种方法是在 脚本 库中创建新脚本 并获取批准。 然后,在 编辑业务流程组的前脚本或后脚本时,从库中选择批准的脚本。 已批准的新脚本将立即替换现有脚本。
用于批准脚本的权限
批准业务流程组的脚本需要以下安全角色之一:
- 完全管理员
- 操作管理员
批准或拒绝业务流程组的脚本
- 在Configuration Manager控制台中,转到“资产和符合性”工作区>“概述>业务流程组”。
- 选择业务流程组,然后选择该组的 “脚本”选项卡 。
- 选择其中一个脚本,然后从功能区或右键单击菜单中选择 “批准/拒绝 ”。
- 在“批准或拒绝脚本”向导的“脚本详细信息”页中查看脚本。 查看完脚本后,选择“ 下一步 ”。
- 在向导的 “脚本审批 ”页上,选择“ 批准 ”或“ 拒绝”。 如果需要,请在“ 脚本 详细信息”窗格中显示的批注中输入 。
- 完成向导以完成审批过程。
编辑或删除业务流程组
若要删除业务流程组,请选择它,然后在功能区中选择 “删除 ”或从右键单击菜单中选择“删除”。 若要编辑业务流程组,请选择它,然后在功能区中选择 “属性” ,或者从右键单击菜单中选择“属性”。 更改以下选项卡中的设置:
常规:
- 名称:业务流程组的名称
- 说明:业务流程组说明 (可选)
- 业务流程组超时 (以分钟) :所有组成员完成更新安装的时间限制。
- 业务流程组成员超时 (分钟) :组中单个设备完成更新安装的时间限制。
成员选择:
- 站点代码:业务流程组的站点代码。
- 成员:选择“ 添加 ”,为业务流程组选择更多设备。 选择 “删除” 以删除所选设备。
规则选择:
- 允许同时更新计算机百分比,然后选择或输入此百分比的数字。 使用此设置可以灵活调整业务流程组的大小。 例如,业务流程组包含 50 个设备,将此值设置为 10。 在软件更新部署期间,Configuration Manager允许五台设备同时运行部署。 如果稍后将业务流程组的大小增加到 100 个设备,则同时更新 10 台设备。
- 允许同时更新多个计算机,然后为此特定计数选择或输入一个数字。 使用此设置始终限制为特定数量的设备,无论业务流程组的总体大小如何。
- 指定维护顺序:按正确的顺序对所选资源进行排序。 使用此设置可以显式定义设备运行软件更新部署的顺序。
根据需要为业务流程组选择安装前脚本和安装后脚本。 脚本应返回一个值
0
,以便成功。 任何非零值都被视为脚本失败。 不能使用 带参数的脚本,并且最大脚本长度为 50,000 字节,即 25,000 个字符 (,因为我们使用 Unicode 编码) 。对于Configuration Manager版本 2103 及更高版本,请在“脚本选取器”页上选择安装前脚本和安装后脚本。 添加或修改脚本时,请从以下选项中进行选择:
-
添加:允许选择要添加的脚本。 在窗格中键入或粘贴 PowerShell 脚本,或者使用以下选项之一:
-
打开:打开特定
.ps1
文件 - 浏览:从“脚本”列表中选择已批准的 脚本 。 带有参数的脚本将从列表中隐藏。
- 清除:清除脚本窗格中的当前脚本
-
打开:打开特定
- 编辑:编辑当前选定的脚本
- 删除:删除当前脚本
- 脚本超时 ((以秒为单位) ):脚本在超时之前允许运行的时间(以秒为单位)
-
添加:允许选择要添加的脚本。 在窗格中键入或粘贴 PowerShell 脚本,或者使用以下选项之一:
对于 Configuration Manager 版本 2010 及更早版本,请在“前脚本”和“后脚本”选项卡上将脚本添加到业务流程组。
警告
- 从版本 2111 开始,前脚本和后脚本 需要审批 才能生效。 在批准后编辑脚本会将审批状态重置 为“正在等待审批”。 未获得批准的脚本将不会在客户端上运行。
- 在版本 2103 及更高版本中,不支持 具有参数的脚本,最大脚本长度为 50,000 字节,即 25,000 个字符 (,因为我们使用 Unicode 编码) 。
- 对于 Configuration Manager 2010 及更早版本,请在“前脚本”和“后脚本”选项卡上将脚本添加到业务流程组。
- 在将前脚本和后脚本用于业务流程组之前,请确保它们已经过测试。 前脚本和后脚本不会超时,将一直运行到业务流程组成员超时。 不支持 具有参数的脚本,最大脚本长度为 5,000 个字符。
显示业务流程组和成员
在 “资产和符合性” 工作区中,选择“ 业务流程组” 节点。 若要查看成员,请选择业务流程组,然后选择功能区中的“ 显示成员 ”。 有关节点的可用列的详细信息,请参阅 监视业务流程组和成员。
启动业务流程
将软件更新部署到 包含业务流程组成员的集合。
当组中的任何客户端尝试在截止时间或维护时段内安装任何软件更新时,业务流程将启动。 它针对整个组启动,并确保设备通过遵循业务流程组规则进行更新。
可以通过从“业务流程 组 ”节点中选择业务流程,然后从功能区或右键单击菜单中选择“ 启动业务流程” 来手动启动业务流程。
如果需要,请选择“ 忽略所有适用的时段”,以便成员 立即开始安装并绕过维护时段。
- Configuration Manager版本 2103 中引入了此选项
如果业务流程组处于 “失败” 状态:
- 确定业务流程失败的原因并解决任何问题。
- 重置 组成员的业务流程状态。
- 在 “业务流程组 ”节点中,选择“ 启动业务流程 ”按钮以重启业务流程。
提示
- 业务流程组仅适用于软件更新部署。 它们不适用于其他部署。
- 可以右键单击业务流程组成员,然后选择“ 重置业务流程组成员”。 这允许重新运行业务流程。
重置组成员的业务流程状态
如果要在组成员上重新运行业务流程,可以清除其状态,例如 “完成” 或 “失败”。 若要清除状态,请右键单击“业务流程组”成员,然后选择“ 重置业务流程组成员”。 还可以从功能区中选择“ 重置业务流程组成员 ”。 在重置状态之前,应检查客户端,了解失败的原因并更正发现的任何问题。
使用Windows PowerShell实现自动化
可以使用以下 PowerShell cmdlet 自动执行其中一些任务:
Get-CMOrchestrationGroup:使用此 cmdlet 按名称或 ID 获取业务流程组对象。 可以使用此对象启动、删除或配置业务流程组。
Invoke-CMOrchestrationGroup:使用此 cmdlet 启动业务流程。
New-CMOrchestrationGroup:使用此 cmdlet 创建新的业务流程组。
Remove-CMOrchestrationGroup:使用此 cmdlet 删除业务流程组。
Set-CMOrchestrationGroup:使用此 cmdlet 配置业务流程组。