脚本化任务的脚本
简介
此页面允许您管理可在 WEM 代理上自动执行或运行的脚本。脚本分为以下类别:
-
用于常见 VDA 管理和故障排除需求的即用型脚本。
-
自定义脚本管理员创建的脚本,用于满足特定于环境的自动化和操作要求。
注意:
要从脚本配置自动化任务,请在配置集中转到 脚本化任务。
添加自定义脚本
“脚本化任务”页面列出了所有内置脚本以及您或其他管理员创建的任何自定义脚本。您可以根据需要添加其他自定义脚本以满足您的要求。
开始之前
在 WEM Web 控制台中创建自定义脚本之前:
-
创建脚本内容根据您的要求编写 PowerShell 脚本。
-
验证并导出脚本内容使用“Citrix Environment Tool Hub > 脚本化任务验证器”工具运行脚本并查看执行结果。如果需要,您可以导出脚本,以便稍后将其导入 WEM Web 控制台。有关详细信息,请参阅 验证和导出脚本化任务。
工作流程
要添加自定义脚本,请执行以下步骤:
-
在“脚本化任务”页面上,单击“添加脚本”。
-
在“添加脚本”向导中,配置以下设置,然后单击“保存”。
-
脚本名称。为脚本指定一个名称。
-
标签。从现有标签中选择,或输入以逗号分隔的标签。标签长度不得超过 20 个字符。标签类似于关键字或标记。使用标签可以帮助您以新方式识别脚本。此外,它们还可以充当筛选器,让您根据对您重要的条件重新排列脚本视图。您可以根据需要使用任意数量的标签。
-
描述。可选,指定其他信息以帮助您识别脚本。
-
文件类型。为脚本选择文件类型。支持两种文件类型:
-
PowerShell。单个 PowerShell 脚本文件。
-
ZIP。捆绑到单个 zip 文件中的多个文件。不支持大于 10 MB 的 Zip 文件。上传 zip 文件后,指定一个入口点,指示在脚本开始时运行哪个文件。请记住,入口点文件在文件夹结构中的深度不得超过三层。
-
-
上传文件。单击“浏览”,导航到文件,选择该文件,然后单击“打开”。您将返回到“添加脚本”向导。提示:您可以通过两种方式上传脚本:
-
选择已放置在 Web 控制台计算机上的 .zip 文件。
-
使用脚本化任务验证器工具导出脚本后,内容会自动复制到剪贴板。在“添加脚本”页面上,直接从剪贴板粘贴内容 (<Ctrl+V>)。此方法避免了在 Web 控制台计算机上存储 .zip 文件的需要。
-
-
授予权限。指定要授予脚本的访问级别。确保您了解与每个选项关联的权限。
-
完全访问。被分配完全访问权限的脚本具有广泛的本地访问权限。如果选择此选项,脚本将获得权限,如同它在本地系统帐户下运行一样。
-
受限访问(有网络访问权限)。分配了受限访问(有网络访问权限)的脚本没有广泛的本地访问权限,但可以访问网络资源。如果选择此项,脚本将获得权限,如同它在网络服务帐户下运行一样。
-
受限访问(无网络访问权限)。分配了受限访问(无网络访问权限)的脚本没有广泛的本地访问权限,也无法访问网络资源。如果选择此项,脚本将获得权限,如同它在本地服务帐户下运行一样。
-
以登录用户身份运行。如果选择此项,脚本将在登录用户会话的上下文中运行,并获得相同的权限,无论用户会话是活动状态还是已断开连接。
有关详细信息,请参阅 Microsoft 文档<https://docs.microsoft.com/zh-cn/windows/security/identity-protection/access-control/security-identifiers#well-known-sids>。 -
-
工作文件夹。可选,键入最终用户操作系统上本地文件夹的绝对路径。工作文件夹是文件启动时的当前文件夹。您可以使用环境变量(例如,%ProgramFiles%)构建路径。如果未指定,则使用
$PSScriptRoot作为默认工作文件夹。有关$PSScriptRoot的详细信息,请参阅 Microsoft 文档<https://docs.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-7.1>。 -
此任务是否生成输出文件。选择您添加的脚本是否生成输出文件。
-
输出路径。键入相对于文件所在文件夹的路径。路径必须包含文件名和文件扩展名。示例:
output\report.txt。
-
管理脚本
您可以根据需要管理脚本。可用操作包括:
编辑脚本
要编辑脚本,请执行以下步骤:
-
在“脚本化任务”页面上,找到脚本。如有需要,可以使用搜索框或标签快速查找。
-
单击脚本的省略号,然后选择“编辑脚本”。此时将显示“编辑脚本”向导。
-
在“任务信息”选项卡上,根据需要配置设置。
-
在“脚本文件”选项卡上,查看脚本内容。
-
单击 保存。
注意:
您无法编辑内置脚本。
删除脚本
要删除脚本,请执行以下步骤:
-
在“脚本化任务”页面上,找到脚本。如有需要,可以使用搜索框或标签快速查找。
-
单击脚本的省略号,然后选择“删除脚本”。
重要提示:
您无法删除内置脚本。
克隆脚本
要克隆脚本,请执行以下步骤:
-
在“脚本化任务”页面上,找到脚本。如有需要,可以使用搜索框或标签快速查找。
-
单击脚本的省略号,然后选择“克隆脚本”。
注意:
克隆脚本时,系统会提示您更改名称以避免名称重复。
从脚本配置任务
要从脚本配置和自动化任务,请执行以下步骤:
-
在“脚本化任务”页面上,找到该脚本。如果需要,可以使用搜索框或标签快速查找。
-
单击脚本的省略号,然后选择“配置任务”。
-
在“选择配置集”向导中,选择要创建任务的配置集。
-
按照 (/zh-cn/workspace-environment-management/2607/manage/configuration-sets/scripted-task-settings.html) 中的步骤完成配置。
内置脚本
目前,我们提供以下内置脚本供您使用:
-
(#cloud-health-check)
-
(#windows-service-management)
-
(#server-reboot)
-
(#cdf-tracing-management)
-
(#aot-log-collection)
-
(#check-dns-settings)
-
(#check-rds-license)
云运行状况检查
允许您运行检查以评估虚拟投递代理 (VDA) 的运行状况。VDA 运行状况检查可识别常见的 VDA 注册和会话启动问题的可能原因。云运行状况检查在代理主机上的本地系统帐户下运行。
Windows 服务管理
Windows 服务管理提供有关 Windows 服务的常用功能,例如启动、停止、重新启动、配置一个或多个 Windows 服务。
重新启动 Windows 服务
此脚本检查 Windows 服务的状态。如果服务当前未运行且指定了
ForceStart 参数,则脚本会启动该服务。无论当前状态如何,如果服务正在运行且不需要强制启动,则会重新启动该服务,以确保其在最新配置下运行或从停滞状态中恢复。
参数
| 名称 | 类型 | 默认值 | 强制 | 注意 |
|---|---|---|---|---|
ServiceNames |
字符串 | BrokerAgent | 否 | 指定要管理的服务的名称。如果未提供,则默认为 BrokerAgent。如果需要输入多个服务,请用逗号分隔服务名称。所有空格都将被截断。例如,ServiceA, ServiceB。 |
ForceStart |
布尔值 | 是 | 否 | 指示如果服务未运行是否启动它。它不影响正在运行的服务。正在运行的服务始终会因维护或恢复目的而重新启动。 |
停止 Windows 服务
此脚本停止指定 Windows 服务的列表。脚本检查每个服务是否已安装,并尝试强制停止该服务。然后,脚本验证服务是否已成功停止并报告状态。
参数
| 名称 | 类型 | 默认值 | 强制 | 注意 |
|---|---|---|---|---|
ServiceNames |
字符串 | BrokerAgent | 否 | 指定要管理的服务的名称。如果未提供,则默认为 BrokerAgent。如果需要输入多个服务,请用逗号分隔服务名称。所有空格都将被截断。例如,ServiceA, ServiceB。 |
配置 Windows 服务
此脚本调整 Windows 服务配置,包括启动类型和恢复操作。
参数
| 名称 | 类型 | 默认值 | 强制 | 注意 |
|---|---|---|---|---|
ServiceNames |
字符串 | 无 | 是 | 指定要管理的服务的名称。如果未提供,则默认为 BrokerAgent。如果需要输入多个服务,请用逗号分隔服务名称。所有空格都将被修剪。例如,ServiceA, SerivceB。 |
StartupType |
字符串 | 无 | 否 | 设置服务的启动类型。有效选项为“自动”、“手动”或“禁用”。 |
FirstFailureAction |
字符串 | 无 | 否 | 定义首次失败时的操作。例如,重新启动/无。 |
SecondFailureAction |
字符串 | 无 | 否 | 定义第二次连续失败时的操作。 |
SubsequentFailureAction |
字符串 | 空 | 否 | 定义第二次失败之后所有后续失败时的操作。 |
服务器重启
重启计算机
此脚本重启本地计算机,可选择延迟和强制选项。
参数
| 名称 | 类型 | 默认值 | 必填 | 注意 |
|---|---|---|---|---|
Force |
布尔值 | 是 | 否 | 如果指定,则强制立即重启,忽略任何未保存的数据或活动用户会话。 |
Delay |
整型 | 10 | 否 | 指定计算机重新启动前的延迟(秒)。必须介于 3 到 30 秒之间。默认为 10 秒。 |
CDF 跟踪管理
启动 CDF 跟踪
此脚本使用单个 CTL 文件或预定义的 CTL 文件类别作为输入来启动 CDF 跟踪过程。它跟踪所选 CTL 文件中定义的模块,并在
RunMinutes 参数指定的持续时间后自动停止 cdfcontrol.exe。
参数
| 名称 | 类型 | 默认值 | 强制 | 注意 |
|---|---|---|---|---|
traceOutputPath |
字符串 | C:\ProgramData\Citrix\WEM\CDFLogs |
否 | 指定 CDF 报告的输出路径。 |
category |
字符串 | all |
否 |
指定用于启动跟踪的预定义类别。支持的值为:
|
ctlFilePath |
字符串 | 空 | 假 | 指定用于启动跟踪的 ctl 文件。 |
RunMinutes |
整数 | 30 | 否 | 指定 cdfcontrol.exe 自动停止并退出前运行的时间。 |
停止 CDF 跟踪
此脚本停止 CDF 工具跟踪。
CDF 日志清理
清理 CDF 跟踪日志有助于节省存储消耗。它应提供一个函数来删除给定目录下的 CDF 文件。
| 名称 | 类型 | 默认值 | 强制 | 注意 |
|---|---|---|---|---|
FileAgeDays |
整数 | 3 | 否 | 指定以天为单位的年龄阈值。早于此值的文件和文件夹将被删除。默认值为 3 天,此参数是可选的。如果 FileAgeDays 小于 1 天,则所有文件或目录都将被删除。 |
AOT 日志收集
此脚本是一个全面的自动化工具,旨在收集和处理 Citrix AOT 日志。它与 Citrix CDFControl 集成,以配置跟踪收集、应用筛选(默认值:
Level=1, Class=Failure),并将 ETL(事件跟踪日志)文件转换为可读的 CSV 格式以进行分析。
| 名称 | 类型 | 默认值 | 必填 | 注意 |
|---|---|---|---|---|
StartTime |
[DateTime] |
EndTime - 30 minutes |
否 | 指定日志筛选的开始时间 |
EndTime |
[DateTime] |
当前日期和时间 | 否 | 指定日志筛选的结束时间 |
检查 DNS 设置
此脚本是一个全面的 DNS 运行状况检查工具,专为 Citrix VDA 环境设计。它验证 DNS 配置并执行故障排除,以识别可能影响 Citrix 服务的潜在 DNS 相关问题。
| 名称 | 类型 | 默认值 | 必填 | 注意 |
|---|---|---|---|---|
DomainName |
[string] |
不适用 | 否 | 指定用于测试 DNS 解析的域名(启用 DNS 名称解析测试) |
FlushDNS |
[switch] |
否 | 否 | 指定是否将刷新 DNS 缓存作为独立操作 |
检查 RDS 许可证
此脚本是一个全面的远程桌面服务 (RDS) 许可证验证工具,旨在检查本地计算机上的 RDS 许可配置和状态。它在 Citrix VDA 环境中特别有用,因为 RDS 许可合规性对于正常运行至关重要。使用此脚本可确保许可合规性并保持不间断的多会话用户访问。
| 名称 | 类型 | 默认值 | 强制 | 注意 |
|---|---|---|---|---|
DomainName |
[string] |
不适用 | 否 | 指定用于测试 DNS 解析的域名(启用 DNS 名称解析测试) |
FlushDNS |
[switch] |
否 | 否 | 指定是否将 DNS 缓存作为独立操作刷新 |
诊断 VDA 注销
此脚本是一个全面的诊断工具,旨在排查 Citrix Virtual Delivery Agent (VDA) 注销问题。它执行多项健康检查和诊断程序,以识别 Citrix 环境中 VDA 注销问题的潜在原因。
| 名称 | 类型 | 默认值 | 强制 | 注意 |
|---|---|---|---|---|
StartTime |
[DateTime] |
EndTime - 30 minutes |
否 | 指定日志筛选的开始时间 |
EndTime |
[DateTime] |
当前日期和时间 | 否 | 指定日志筛选的结束时间 |
运行配置文件管理健康检查
此脚本对您的 Citrix Profile Management 部署执行全面的健康检查。它扫描配置以查找潜在问题,并分析日志以检测关键问题,例如临时配置文件错误和登录期间的显著时间间隔。
| 名称 | 类型 | 默认值 | 强制性 | 注意 |
|---|---|---|---|---|
CtxSessionKey |
[string] | 空 | 假 | 指定用于搜索特定会话日志的 Citrix 会话 密钥。如果未指定,脚本将分析过去 24 小时内的会话。 |
LogonTime |
[string] | 空 | 假 | 指定用于筛选事件日志搜索的登录时间。接受各种日期和时间格式。如果未指定,脚本将筛选过去 24 小时内的事件日志。 |
StructuredOutputOnly |
[switch] | 真 | 假 | 指定是否输出结构化 JSON 数据而不进行控制台日志记录。 |
Parallel |
[switch] | 真 | 假 | 指定是否使用并行处理进行日志分析操作以提高性能。 |
设置配置文件重置触发器
此脚本设置一个触发器以重置用户配置文件。在用户下次登录时,现有配置文件将进行备份,并创建一个新的干净配置文件文件夹。
| 名称 | 类型 | 默认值 | 强制 | 注意 |
|---|---|---|---|---|
CtxSessionKey |
[string] | 无 | 真 | 指定用于触发用户下次登录时配置文件重置的 Citrix 会话密钥。 |
FoldersToRestore |
[string] | 无 | 假 | 指定配置文件重置后要还原的文件夹。如果未指定,则默认还原已知文件夹,例如“下载”、“桌面”和“图片”。 |
BackupNameSuffix |
[string] | 无 | 假 | 指定配置文件重置期间备份文件夹名称的后缀。如果未指定,则后缀默认为 upm_%CurrentTimeStamp%。 |
更多信息
有关如何使用脚本化任务的示例,请参阅: