Windows 程序包操作

使用 Windows 程序包操作在程序包安装过程中执行自定义操作。您在操作界面中创建的操作将合并到程序包中,该程序包会在目标设备上运行单个 PowerShell 脚本。可用操作包括以下内容:

  • 复制、重命名、删除或移动文件
  • 创建或删除目录
  • 停止、运行或重启 Windows 服务
  • 添加、删除或更新注册表条目
  • 连接或断开 UNC 共享
  • 启动可执行文件
  • 弹出窗口
  • 已创建的自定义 PowerShell 命令。2021.1 SU2 及更高版本还在 Windows 设备上支持 PowerShell Core。

记录操作的输出并汇总到核心服务器。

配置操作时,您可以单击使用变量按钮来插入一个变量,系统将为变量填充针对运行相关操作的设备的数据。有关变量的详细信息,请参阅代理设置:变量

访问 Ivanti 社区,查看有关如何配置软件分发 Windows 操作的示例:

创建 Windows 操作程序包
  1. 单击工具 > 分发 > 分发程序包
  2. 右键单击所需的分发程序包类别,然后单击新建 Windows 程序包 > 操作
  3. Windows 操作程序包对话框的操作页面中,单击添加
  4. 选择所需操作,然后单击确定
  5. 配置操作属性。
  6. 如有必要,添加和配置其他操作。
  7. 单击保存

程序包操作 PowerShell 模块(2019 及更新版本)

Windows 程序包操作使用由 Ivanti 创建的自定义 PowerShell 模块。这些模块存储在核心服务器上的以下位置:

  • C:\Program Files\LANDesk\ManagementSuite\ldlogon\ivanti-psmodule

Endpoint Manager 使用 SHA-256 哈希来确保 Ivanti PowerShell 模块的安全性。运行操作时,该操作首先会确保模块哈希匹配。如果哈希不匹配,则会从核心服务器下载匹配预期哈希的新模块。如果您手动修改 Ivanti PowerShell 模块,您的更改将在下一次运行 Windows 程序包操作时被覆盖。

因为 PowerShell 模块之间可能会发生冲突,所以 Windows 操作会强制 Ivanti PowerShell 模块在执行 Windows 程序包操作前的最后进行加载。这样,如果 PowerShell 模块发生冲突,Ivanti 模块将取得优先级。

2021.1 SU2 版本中添加了对 PowerShell Core 的支持。在 PowerShell 操作属性对话框中,可以使用 PowerShell 选项页面来选择设备将默认使用的 PowerShell 版本。

操作的失败时继续选项(2019 SU2 及更新版本)

Endpoint Manager 2019.1 SU2 在操作列表中为操作新增了失败时继续选项。若为某个操作选择此选项,即便该操作失败,程序包中的其余操作仍将继续执行。如果列表下方的某个操作失败,并且未选择失败时继续,则该操作将停止执行。

如果为程序包中的所有操作选择失败时继续,则在保存更改时会出现一条警告“不管单个操作成功或失败,此程序包都将继续执行”。通常,我们建议您选择性地使用失败时继续选项。

关于重新启动操作(2019 及更新版本)

重新启动操作有一些您可能需要注意的其他行为。重新启动操作:

  • 在发起关机之前记录系统事件。
  • 在发起重新启动之前至少等待 30 秒,以便进行记录并与核心服务器通信。
  • 如果脚本中有重新启动操作,则脚本将在重新启动完成后从暂停的位置继续执行。即使此操作需要执行多次重新启动仍然如此。