Horizon Advisor 是一款基于 PowerShell 的 Omnissa Horizon 环境管理工具。使用此工具,可在安装或升级 Horizon Server 之前验证您的环境、安装和升级连接服务器、执行 AD LDS 维护,以及管理安全网关服务,所有这些操作均通过一个图形界面或命令行完成。
必备条件
要求表
| 要求 | 详细信息 |
|---|---|
| 操作系统 | Horizon Connection Server 支持的操作系统 |
| PowerShell | 版本 5.1 或更高版本 |
| 浏览器(用于 PDF 报告) | Microsoft Edge (Chromium) 或 Google Chrome,用于将 HTML 报告转换为 PDF |
| 权限 | 以具有相应 Horizon 管理权限的用户身份运行。远程和连接服务器生命周期操作需要使用一个帐户,该帐户是每个目标服务器上的域用户和本地管理员组的成员。 |
| 网络访问 | 对 Horizon Connection Server 的 HTTPS 访问(端口 443),用于执行 LDAP/API 验证。对远程目标的 WinRM 访问,用于执行连接服务器生命周期操作、远程预检查、ADWS 和复制操作。用于 AD LDS 工具的 AD LDS 端口 389(本地)和 22389(全局)。 |
| Active Directory 模块 | RSAT Active Directory PowerShell 模块,用于在本地服务器上执行 Active Directory 预检查。如果缺少该模块,Horizon Advisor 会提供相应的安装选项。 |
| Windows 工具 | 某些 AD LDS 操作使用 AD LDS 工具,如 ldifde、repadmin 和 dsmgmt,以及 Horizon vdmexport 和 vdmimport 命令。 |
**注意:**Horizon Advisor 必须直接在需要执行预检查的系统上运行。
启动工具
打开 PowerShell 控制台,然后导航到将 Horizon Advisor 提取到的文件夹。
然后运行:
.\Start-HorizonAdvisor.ps1
此时将打开交互式主菜单。您也可以双击提取到的文件夹中的 HorizonAdvisor.bat。
首次启动时,系统会出现一个对话框,询问是否允许使用情况遥测。要稍后更改此设置,请运行 .\Start-HorizonAdvisor.ps1 -TelemetryConsent enable|disable|reset|status。
**重要信息:**每次运行 Start-HorizonAdvisor.ps1 时,都会清除以前接受的 TLS 证书。在每次重新运行时,系统将再次提示您接受任何不受信任或自签名的证书。
主菜单概览
启动后,从选择工具下拉菜单中选择一个工具并单击启动,或双击相应的项目:
- 预检查验证
- 管理安全网关
- Omnissa Horizon Connection Server 生命周期管理
- ADLDS 维护工具
关闭工具将返回到主窗口。
预检查操作
预检查将根据 Omnissa 针对目标 Horizon 版本发布的要求验证您的环境。它会检查 Active Directory 设置、容量提供程序、服务器必备条件和 LDAP/API 连接,然后生成详细的 HTML 报告,并可选择生成 PDF 报告。
执行模式
您可以针对以下目标运行预检查:
| 模式 | 验证 |
|---|---|
| 本地服务器 | 您正在运行的计算机。 |
| 服务器列表 (CSV) | 所选文件中的服务器(通过 WinRM)。该文件可以是纯文本文件(每行一个服务器 FQDN;将忽略以 # 开头的行),也可以是包含 ServerFQDN 列的 CSV 文件。如果没有 ServerFQDN 列,则使用第一列。 |
| 本地 Pod 服务器 | 在本地 Pod 中检测到的连接服务器。 |
| CPA 联合 | Cloud Pod 架构联合中所有 Pod 内的连接服务器。 |
LDAP/API 验证始终从运行 Horizon Advisor 的计算机中针对连接服务器 API 端点运行,即使其他检查在远程服务器上运行时也是如此。
验证类型
选择预检查操作时,将显示以下选项:
| 选项 | 验证类型 | 检查内容 |
|---|---|---|
| 运行所有验证 | 完整报告 | 在一份综合报告中运行列出的所有检查 |
| Active Directory 要求验证 | Active Directory 配置 | 林和域功能级别、AD 架构兼容性、DNS 设置和其他 AD 必备条件 |
| 容量提供程序要求验证 | 容量提供程序配置 | 目标 Horizon 版本(例如 vCenter、Nutanix Prism Central、OpenShift 或 Amazon WorkSpaces Core)的容量提供程序版本兼容性和配置要求 |
| Horizon Server 系统要求验证 | 连接服务器必备条件 | 本地服务器设置、操作系统版本和特定于 Horizon 的服务器配置要求 |
| LDAP 要求验证 | LDAP 要求 | 验证架构主机可访问性和 LDAP 复制运行状况 |
**注意:**LDAP 要求验证仅适用于 Horizon Server 2412 及更高版本。
| 选项 | 验证类型 | 检查内容 |
|---|---|---|
| 运行所有验证 | 完整报告 | 在一份综合报告中运行列出的所有检查 |
| Active Directory 要求验证 | Active Directory 配置 | 林和域功能级别、AD 架构兼容性、DNS 设置和其他 AD 必备条件 |
| 容量提供程序要求验证 | 容量提供程序配置 | 目标 Horizon 版本(例如 vCenter、Nutanix Prism Central、OpenShift 或 Amazon WorkSpaces Core)的容量提供程序版本兼容性和配置要求 |
| Horizon Server 系统要求验证 | 连接服务器必备条件 | 本地服务器设置、操作系统版本和特定于 Horizon 的服务器配置要求 |
| LDAP 要求验证 | LDAP 要求 | 验证架构主机可访问性和 LDAP 复制运行状况 |
TLS 证书提示
对于 LDAP 和 API 验证,Horizon Advisor 将通过 HTTPS 连接到 Horizon Connection Server。如果服务器使用自签名或不受信任的 TLS 证书,则会显示以下提示:
Untrusted TLS certificate detected for https://<server>/rest/...
Subject : CN=<server>
Issuer : CN=<server>
Thumbprint: XXXX...
Valid From: ...
Valid To : ...
Certificate appears to be self-signed.
Press '1' to accept this certificate for this run only
Press '2' to reject and stop the request
Select an option (1-2):
按 1 以接受并继续。证书仅在本次运行期间受信任。
按 2 以拒绝。连接将中止,验证不会继续进行。
每次运行时都会显示此提示。接受的证书永远不会永久存储。
要跳过该提示,请在“预检查验证”窗口中选择接受自签名/不可信的 TLS 证书。
了解报告
验证完成后,将自动生成 HTML 报告(如果支持的浏览器可用,还会生成 PDF 报告)。该报告包括:
“摘要”部分
| 项目 | 描述 |
|---|---|
| 验证类型 | 已执行的检查类型 |
| 目标 Horizon 版本 | 验证所依据的版本 |
| 执行时间 | 验证运行时间 |
| 检查总数 | 执行的各项检查总数 |
| 通过 | 满足要求的检查数(绿色) |
| 警告 | 标记为待查的检查数(橙色) |
| 失败 | 不满足要求的检查数(红色) |
| 已跳过 | 不适用于此配置的检查数(蓝色) |
详细结果表
| 列 | 描述 |
|---|---|
| 检查项 | 正在验证的特定要求名称 |
| 状态 | 通过、警告、失败或跳过 |
| 详细信息 | 当前检测值或状态的描述 |
| 建议 | 对于失败和警告项 - 建议的值或纠正措施 |
报告中的行颜色与状态相对应:
- 绿色:通过
- 黄色/橙色:警告
- 红色:失败
- 蓝色:跳过
对于标记为失败或警告的项目,在继续 Horizon 安装或升级之前,请务必查看建议列以了解需要采取的纠正措施。
报告位置
报告将保存到:
%ProgramData%\Omnissa\Horizon\logs\HorizonAdvisor\PreCheckReports\
文件命名约定
| 验证 | HTML 文件名 | PDF 文件名 |
|---|---|---|
| Active Directory | ActiveDirectory_PreCheck_Report_<timestamp>.html | ActiveDirectory_PreCheck_Report_<timestamp>.pdf |
| 容量提供程序要求验证 | Capacity_Provider_Validation_Report_<timestamp>.html | Capacity_Provider_Validation_Report_<timestamp>.pdf |
| Horizon Server 系统要求验证 | ServerConfig_PreCheck_Report_<timestamp>.html | ServerConfig_PreCheck_Report_<timestamp>.pdf |
| LDAP 要求验证 | LDAP_Precheck_Report_<timestamp>.html | LDAP_Precheck_Report_<timestamp>.pdf |
| 运行所有验证 (完整报告) | Complete_PreCheck_Report_<timestamp>.html | Complete_PreCheck_Report_<timestamp>.pdf |
生成报告后,该工具将显示 HTML 和 PDF 文件的完整路径。您可以在任何 Web 浏览器中打开该 HTML 文件。
如果未安装 Microsoft Edge 或 Google Chrome,则不会生成 PDF,但将始终创建 HTML 报告。
连接服务器生命周期管理
连接服务器生命周期管理 (Lifecycle Management, LCM) 将安装新的连接服务器或升级现有连接服务器。Horizon Advisor 会通过 WinRM 进行连接,在每个目标上计划安装或升级,然后监控每个服务器的进度,直到成功、失败或超时。
**重要信息:**安装和升级操作会影响正在运行的服务。请在维护时段内运行 LCM 并首先执行备份。
开始之前
- 将连接服务器安装程序放置在目标服务器可以访问的位置:SMB 共享路径或直接指向安装程序文件的 HTTPS URL,例如
Omnissa-Horizon-Connection-Server-x86_64-...-8.20.0-....exe。指向元数据文件或其他文件的链接将被拒绝。 - 确保 WinRM 在每个目标服务器上均可访问。
- 拥有一个
DOMAIN\user或user@domain形式的帐户,该帐户是每个目标上的域用户和本地管理员组的成员。该帐户将运行计划的安装或升级任务。 - 对于安装,具有连接服务器恢复密码;对于副本服务器,具有主连接服务器的 FQDN。
安装新的连接服务器
-
选择 Omnissa Horizon Connection Server 生命周期管理,单击启动,然后选择安装新的连接服务器。
-
将在继续之前运行预检查 (所有验证) 保持选中状态,除非您有跳过的理由。请参阅“预检查门控”。
-
在内部版本下,输入内部版本源 (SMB/URL)。例如:
smb://myserver/build/Omnissa-Horizon-Connection-Server-x86_64-2609-8.20.0-xxxxxx.exehttps://mywebserver/builds/Omnissa-Horizon-Connection-Server-x86_64-2609-8.20.0-xxxxxx.exe
版本是从安装程序文件名中读取的,因此没有版本下拉菜单。大小、校验和以及内部版本号来自 Horizon Advisor 中内置的已签名内部版本目录。
**重要信息:**请勿重命名安装程序。使用的安装程序文件名应与 Omnissa 发布的名称完全一致。Horizon Advisor 会从文件名中读取版本和内部版本号,并根据它们验证文件,因此重命名的安装程序会被拒绝。
-
在目标服务器下,输入服务器 FQDN,选择其安装类型,然后单击添加。对每个服务器重复该操作。要删除条目,请将其选中,然后单击移除。
-
为列表中的每种安装类型输入 MSI 参数。占位符值以红色显示。您必须先替换恢复密码、提醒和主连接服务器占位符,然后才能启动。
-
在凭据下,输入用户名 (
DOMAIN\user) 和密码。 -
单击启动。如果预检查门控处于打开状态,则会首先运行预检查。
-
对出现的提示进行确认以开始。
如果您添加的副本服务器的主服务器位于同一批处理中,则 Horizon Advisor 会先安装主服务器,并等待主服务器成功完成安装后再计划副本服务器安装。如果主服务器安装失败,则将跳过副本服务器安装。
连接服务器生命周期管理
连接服务器生命周期管理 (LCM) 将安装新的连接服务器或升级现有连接服务器。Horizon Advisor 会通过 WinRM 进行连接,在每个目标上计划安装或升级,然后监控每个服务器的进度,直到成功、失败或超时。
**重要信息:**安装和升级操作会影响正在运行的服务。请在维护时段内运行 LCM 并首先执行备份。
开始之前
- 将连接服务器安装程序放置在目标服务器可以访问的位置:SMB 共享路径或直接指向安装程序文件的 HTTPS URL,例如
Omnissa-Horizon-Connection-Server-x86_64-...-8.20.0-....exe。指向元数据文件或其他文件的链接将被拒绝。 - 确保 WinRM 在每个目标服务器上均可访问。
- 拥有一个
DOMAIN\user或user@domain形式的帐户,该帐户是每个目标上的域用户和本地管理员组的成员。该帐户将运行计划的安装或升级任务。 - 对于安装,具有连接服务器恢复密码;对于副本服务器,具有主连接服务器的 FQDN。
安装新的连接服务器
-
选择 Omnissa Horizon Connection Server 生命周期管理,单击启动,然后选择安装新的连接服务器。
-
将在继续之前运行预检查 (所有验证) 保持选中状态,除非您有跳过的理由。请参阅“预检查门控”。
-
在内部版本下,输入内部版本源 (SMB/URL)。例如:
smb://myserver/build/Omnissa-Horizon-Connection-Server-x86_64-2609-8.20.0-xxxxxx.exehttps://mywebserver/builds/Omnissa-Horizon-Connection-Server-x86_64-2609-8.20.0-xxxxxx.exe
版本是从安装程序文件名中读取的,因此没有版本下拉菜单。大小、校验和以及内部版本号来自 Horizon Advisor 中内置的已签名内部版本目录。
**重要信息:**请勿重命名安装程序。使用的安装程序文件名应与 Omnissa 发布的名称完全一致。Horizon Advisor 会从文件名中读取版本和内部版本号,并根据它们验证文件,因此重命名的安装程序会被拒绝。
-
在目标服务器下,输入服务器 FQDN,选择其安装类型,然后单击添加。对每个服务器重复该操作。要删除条目,请将其选中,然后单击移除。
-
为列表中的每种安装类型输入 MSI 参数。占位符值以红色显示。您必须先替换恢复密码、提醒和主连接服务器占位符,然后才能启动。
-
在凭据下,输入用户名 (
DOMAIN\user) 和密码。 -
单击启动。如果预检查门控处于打开状态,则会首先运行预检查。
-
对出现的提示进行确认以开始。
如果您添加的副本服务器的主服务器位于同一批处理中,则 Horizon Advisor 会先安装主服务器,并等待主服务器成功完成安装后再计划副本服务器安装。如果主服务器安装失败,则将跳过副本服务器安装。
AD LDS 操作
本单元将提供针对连接服务器上 Horizon AD LDS(Active Directory 轻型目录服务)分区的维护操作。
**注意:**从 2606 版本开始,连接服务器安装程序默认会自动停止并禁用 Active Directory Web 服务 (Active Directory Web Service, ADWS),因为正常的连接服务器操作不需要 ADWS。如果您的环境依赖 ADWS 进行 AD LDS 维护或其他目的,则可以从此菜单暂时重新启用该服务。
可用操作
| 选项 | 操作 | 描述 |
|---|---|---|
| 1 | 清理失效的客户端用户首选项数据 | 从 Horizon AD LDS 分区中移除在可配置的月数(默认:3 个月)内未修改的 pae-Prop 对象。有助于回收空间并减少 AD LDS 膨胀。 |
| 2 | ADWS 状态管理 | 在 Horizon Connection Server 上验证、启用或禁用 Active Directory Web 服务 (ADWS)。出于安全原因,ADWS 默认处于禁用状态,应仅在特定任务需要时才临时启用。 |
| 迁移/同步全局 ADAM 数据库分区 | 允许拥有大型 Cloud Pod 架构 (CPA) 部署的组织从旧版 AD LDS 分区迁移到新的 Horizon 分区。支持分阶段迁移,因此可以在单独的维护时段内迁移独立 Pod,同时 CPA 保持正常运行。在迁移期间,管理员可以在全局授权中添加或移除本地池、创建/删除全局授权,以及执行站点操作,从而降低大型多 Pod 部署的风险和停机时间。 | |
| 3 | 退出 | 返回到主菜单 |
使用清理操作
-
从“AD LDS 操作”菜单中选择清理失效的客户端用户首选项数据(或直接运行清理脚本)。
该工具会显示检测到的 Horizon 分区 DN。 -
选择您的操作:
- 选项 1:显示失效条目计数(不删除)- 安全预览
- 选项 2:删除失效条目 - 执行实际清理
- 输入失效阈值:
- 指定将数据视为失效的月数
- 按 Enter 键接受默认值 3 个月
- 只有在此期间内未经修改的数据才会受到影响
- 查看失效条目计数:
- 该工具将扫描 AD LDS 并显示找到的失效对象数量
- 如果选择了“选项 1”,则操作至此结束,不会执行删除
- 确认删除(仅限“选项 2”):
- 查看要删除的条目计数
- 键入 1 以确认删除。
- 键入任何其他内容或按 Esc 键以取消操作。
- 删除过程:
- 该工具将分批删除匹配的对象(每批 2,000 个)。
- 每完成一批,系统将报告当前进度。
- 完成:
-
显示已删除对象的总数。
-
删除报告显示以下内容:
- 删除的对象总数
- 清理完成状态
**提醒:**此操作将从 AD LDS 中永久删除用户首选项数据。在继续删除之前:
- 确认已备份 AD LDS 数据库
- 与您的团队确认可以安全移除旧首选项
- 首先运行“选项 1”以进行预览
- 考虑在用户活动最少的维护时段运行
使用 ADWS 状态管理
导航到 ADWS 状态管理
通过以下方式之一打开 ADWS 状态管理:
- 在“ADLDS 维护工具”工作区中,选择管理员操作。
- 从命令行中,运行
.\Start-HorizonAdvisor.ps1 -Flow 'ADLDS Operation' -Validation adws。
然后,选择范围级别,并选择所需的操作。
选择范围级别(必需)
在运行“验证”、“启用”或“禁用”之前,请选择一个范围:
-
单个 POD
- 目标仅为所选 Pod 中的连接服务器。 - 使用**选择 Pod** 选择特定的 Pod。 -
集群级别(CPA 联合)
- 目标为在 CPA 联合中发现的所有 Pod。 - 当更改必须在整个联合范围内应用时使用。
如果仅发现一个 Pod,则集群级别行为不适用,并且操作将在可用的 Pod 范围内运行。
选项 1:验证 ADWS 状态
功能说明
- 检查已发现连接服务器上的 ADWS 状态。
- 显示当前服务状态、启动类型、防火墙状态和 ADWS 注册表标记。
- 不会进行任何配置更改。
何时使用
- 在启用或禁用 ADWS 之前。
- 进行更改后,需确认最终状态时。
步骤
-
选择单个 Pod 或集群级别 (CPA 联合)。
-
如果选择单个 Pod,请在选择 Pod 中选择目标 Pod。
-
选择验证 ADWS 状态
-
等待发现和状态收集完成。
-
查看每个服务器的输出表:
- 服务状态
- 启动类型
- 防火墙状态
- EnableADWS 值
选项 2:启用 ADWS
功能说明
- 将 ADWS 服务启动设置为“自动”。
- 如果 ADWS 服务未运行,则启动该服务。
- 启用或创建 ADWS 入站防火墙规则 (TCP 9389)。
- 将
EnableADWS注册表值设置为1。
安全警告
- ADWS 默认处于禁用状态,以减少安全暴露。
- 仅当需要 ADWS 来完成特定任务(例如,故障排除或旧版集成)时,才启用该服务。
- 任务完成后,请手动禁用 ADWS。
步骤
-
选择单个 Pod 或集群级别 (CPA 联合)。
-
如果选择单个 Pod,请在选择 Pod 中选择目标 Pod。
-
选择启用 ADWS。
-
查看安全警告。
-
在出现提示时,请确认操作。
-
等待执行在所有可访问的服务器上完成。
-
运行验证 ADWS 状态以确认 ADWS 已在预期位置启用。
选项 3:禁用 ADWS
功能说明
- 停止 ADWS 服务。
- 将 ADWS 启动类型设置为“已禁用”。
- 禁用 ADWS 入站防火墙规则。
- 将
EnableADWS注册表值设置为0。
何时使用
- 完成需要 ADWS 的临时任务后。
- 需返回到默认安全状态时。
步骤
-
选择单个 Pod 或集群级别 (CPA 联合)。
-
如果选择单个 Pod,请在选择 Pod 中选择目标 Pod。
-
选择禁用 ADWS。
-
在出现提示时,请确认操作。
-
等待执行完成。
-
运行验证 ADWS 状态以确认 ADWS 已禁用。
将跳过已处于请求的状态的服务器。将报告并跳过无法通过 WinRM 访问的服务器。
ADLDS 维护工具
ADLDS 维护工具是用于查看和维护 Horizon 使用的 AD LDS 数据的工作区。您可以先通过试运行预览对 AD LDS 做出的所有更改。
**注意:**从 ADLDS 工具进行 REST API 连接是一项测试版功能,尚未经过全面测试,并且在此版本中不受支持。
提醒:许多操作会删除或修改 AD LDS 数据。请备份本地和全局 AD LDS 数据,先通过试运行来运行每项操作,查看输出,然后在维护时段内实际运行该操作。
打开工具
- 从主窗口中,选择 ADLDS 维护工具,然后单击启动。工作区将在单独的窗口中打开。
- 从命令行中,运行
.\Start-HorizonAdvisor.ps1 -Flow 'ADLDS Tools'。 - 在 ADLDS Tools 文件夹中独立运行
HorizonADLDSTools.bat。
工作区左侧有一个导航树,其中包含四个组:数据可视化工具(默认显示)、管理员操作、本地工具和 CPA 工具。
工作区中的常见行为:
- 操作会在后台运行。单击停止可结束活动的操作。
- 共享的脚本输出日志会显示每项操作的进度。
- 默认情况下,输出将写入
%ProgramData%\Omnissa\Horizon\logs\adlds-out。要更改位置,请单击设置(齿轮图标)。每个会话使用一个带时间戳的子文件夹。 - 本地 AD LDS 使用端口 389,全局 AD LDS 使用端口 22389。
- 密码仅保存在内存中,不会写入磁盘。
- 单击 ? 帮助可查看有关所选组的描述。
数据可视化工具
采用以下两种模式之一,在带有详细信息窗格的列表中浏览 AD LDS 数据:
- 实时可直接查询 AD LDS。
- 文件可读取您加载的 LDIF 文件,以便您可以脱机检查导出内容。
| 本地 AD LDS 视图 | 全局 AD LDS 视图 |
|---|---|
| 桌面池和场、计算机、vCenter Server、服务器(连接服务器、网关、UAG)、容量/云、事件数据库、身份验证器、权限、全局设置、许可、FSP | Pod 和站点、桌面全局授权、应用程序全局授权、GE 关联(用户授权、主站点覆盖、本地池)、FSP |
- 可使用搜索框筛选行,使用上下文下拉菜单(例如,计算机状态或池类型)缩小视图范围,以及使用列标题进行排序。
- 选择某行可在详细信息窗格中查看其所有属性。
- 在“计算机”视图中,单击刷新会话可更新会话计数,而不重新加载完整列表。
管理员操作
“管理员操作”具有一个共享的 ADLDS 主机框(默认为 localhost)和一个查询按钮。打开后,它会查询本地和全局 AD LDS。“管理员操作”还包含“ADWS 状态管理”。
FSMO 角色管理器
- 显示本地和全局 AD LDS 的配置分区中的模式主节点和命名主节点所有者以及连接服务器清单。
- 显示未知配置条目数;未知配置条目是指在任一分区中均没有匹配的活动连接服务器的条目。单击移除 CS 可查看并移除这些失效条目。
- 要移动角色,请选择一个活动连接服务器,然后单击转移模式主节点或转移命名主节点。
停用 CS
从本地和全局 AD LDS 中移除已停用的连接服务器。
- 加载服务器列表。可以添加导出的 LDIF 文件(每个 Pod 一个,再加上全局导出),然后单击解析,或者单击实时重新加载以直接查询 AD LDS。
- 在连接服务器网格中,选择要移除的每个服务器。单击某行以将其选为 FSMO 传输目标。
- 设置输出文件夹以及本地和全局目标服务器,然后选择试运行。
- 单击生成以生成移除 LDIF 文件,然后单击应用本地 LDIF 和应用全局 LDIF。
- 查看试运行输出,然后取消选择试运行并再次应用文件。
复制状态
- 按 Pod 发现连接服务器,选择范围(选定的服务器、选定的 Pod 或所有发现的 Pod),然后运行
repadmin /showrepl或repadmin /syncall。 - 每次运行都会写入一个带时间戳的
repadmin_status_<time>文件夹,其中包含每个服务器的 CSV 和文本文件以及摘要 CSV,并列出需要注意的服务器。
本地工具
| 工具 | 功能说明 | 关键选项 |
|---|---|---|
| 用户清理工具 | 使用 Horizon REST API 和 LDAP 从本地 AD LDS 和(可选)全局 AD LDS 中移除用户的 Horizon 引用(授权、池成员资格、分配、FSP)。 | Horizon Server 和管理员凭据;通过 SID 或用户名和域标识用户;分区(Horizon 或旧版);包括全局 AD LDS;试运行;强制;(可选)计算机删除,包括从磁盘中删除,此操作无法撤消。 |
| 失效用户查找器 | 针对 Active Directory 检查每个 FSP 条目,并为不再存在的帐户编写报告和删除 LDIF。 | 发现域,然后是每个域的凭据(留空会使用您的 Windows 会话)、跳过和测试;输出文件夹;(可选)移除专用计算机。 |
| 应用 LDIF 文件 | 将删除或修改 LDIF 文件应用于本地 AD LDS,例如失效用户查找器生成的 LDIF 文件。 | LDIF 文件、服务器和端口、试运行、出错时继续。 |
| 失效用户首选项 | 查找并移除在未进行完全清理的情况下删除用户帐户时累积的失效 pae-Prop 用户首选项对象。 | 实时或 LDIF 源;以天为单位的老化阈值(默认为 90);仅计数;写入删除 LDIF;删除前的确认复选框。 |
| 同步 FSP | 通过在 Active Directory 中查找每个 SID,填写 FSP 描述中的缺失 OBJECTGUID 和 DISTINGUISHEDNAME 值。 | 可选的域控制器和单用户筛选器;同时同步全局 AD LDS;跳过 AD 组;试运行。始终会排除内置和公认的帐户。 |
失效用户查找器会写入 StaleUsers_<timestamp>.log、.csv 和 .ldif 文件。可查看 LDIF 文件,然后通过应用 LDIF 文件来应用该文件。
CPA 工具
| 工具 | 功能说明 |
|---|---|
| 孤立分配 | 在全局 AD LDS 中查找孤立的全局分配,并写入删除 LDIF 文件以供查看。标记没有用户身份或没有授权链接的分配。 |
| 应用 LDIF | 将删除 LDIF 文件应用于全局 AD LDS(默认 localhost:22389)。应首先使用“试运行”。 |
| 导出 | 导出 CPA 数据并且/或者将该数据恢复到目标分区。选择一个阶段(转储、恢复或两者)、主机和输出文件夹以及“试运行”和“自动导入”等选项。该面板显示了实时 CPA 统计信息,并且可以导出加密的 AD LDS 备份并解密该备份以用作输入。压缩并保存输出可打包会话输出和日志以提交给技术支持人员。 |
| 本地池导入 | 将池关联从先前导出的文件导入到目标 Pod,并从源 Pod 中重新映射这些池关联。选择源 Pod、目标 Pod(刷新 Pod 会加载实时 Pod),以及试运行或提交。 |
命令行工具
这些工具将在控制台窗口中打开,并使用您当前的 Windows 会话进行 AD LDS 访问。
- 查找失效用户 (
Find-StaleUsers.ps1):扫描本地和全局 AD LDS 以查找失效用户,并写入 LDIF 文件以进行清理。可以选择通过 REST API 移除关联的计算机。 - 应用 ADLDS LDIF (
Apply-AdldsLdif.ps1):使用ldifde应用清理 LDIF 文件。支持-WhatIf以在没有 AD LDS 连接的情况下进行预览,并且还支持-ContinueOnError。 - 移除 Horizon 用户 (
Remove-HorizonUser.ps1):从本地和全局 AD LDS 中移除一个用户,包括 FSP 引用、授权、池成员资格和全局分配。 - 复制操作 (
Invoke-ReplicationOps.ps1):-Operation showrepl|syncall|scanall,带有-Scope SelectedCS|PodLevel|AllDiscoveredPods。例如,使用-Usage运行。
分区迁移
分区迁移会将 Horizon AD LDS 从旧版分区移至新的 Horizon 分区。它支持在单独的维护时段内独立迁移 Pod,因此 Cloud Pod 架构 (CPA) 可在大型多 Pod 部署中继续正常运行。可从 ADLDS 维护工具登录页和 AD LDS 操作控制台菜单中执行该操作。
**重要信息:**在开始之前,请阅读以下内容。
- 将连接服务器升级到版本 2606 或更高版本。在 CPA 环境中,先升级所有 Pod 中的连接服务器。
- 如果您使用 Omnissa Access,请将 Access Connector 升级到 24.12 或更高版本,并应用所需的修补程序,除非您使用的是 24.12.1 或更高版本。
- 在维护时段内进行迁移。避免在迁移过程中更改池和授权以及启动桌面或应用程序。
- 在本地迁移期间,Pod 中的所有连接服务器都将置于已禁用模式,并且在完成迁移之前会阻止新连接。
- 确认 Horizon Console 仪表板中没有复制问题,本地或全局配置分区中没有失效的连接服务器条目,并且所有 Pod 中的所有连接服务器都保持启动并正常运行。
- 在开始之前,备份本地和全局 LDAP 数据。
运行分区迁移
- 选择迁移类型:本地分区迁移、全局分区迁移或旧分区清理,然后输入 Horizon 管理员凭据。
- 单击运行预检查。结果将显示在日志中。
- 如果预检查通过,则会显示步骤按钮。按从上到下的顺序运行这些步骤。每个步骤都会记录其进度。
如果您的 API 会话在某个步骤中过期,系统会提示您更新凭据并单击重新连接。然后,操作会继续执行。
本地分区迁移(按 Pod)
- 验证必备条件并准备迁移。
- 准备当前 Pod 以进行迁移并禁用 Pod。
- 启动 Pod 迁移。
- 将 Pod 切换到 Horizon 本地分区。
- 验证并启用当前 Pod。
全局分区迁移(联合)
- 为联合启动全局分区迁移。
- 将联合切换到 Horizon 全局分区。
- 验证 Horizon 全局分区是否正在使用。
- 如有必要,将联合恢复到旧的全局分区(恢复)。系统会要求您进行确认。除“是”以外的任何回答都将取消恢复而不进行更改。
- 恢复后,验证旧的全局分区是否正在使用。
旧分区清理
验证迁移后,使用旧分区清理来移除旧版分区数据。先选中确认复选框,然后再运行。
管理安全网关服务
本单元将在 Horizon Connection Server 上启用或禁用 PCoIP 安全网关和 BLAST 安全网关服务。
要执行该操作,请在主窗口中选择管理安全网关,然后单击启动。选择一个操作,单击执行,然后查看日志。相关服务将在更改过程中停止和启动。从命令行中,运行 .\Start-HorizonAdvisor.ps1 -Flow 'Manage Security Gateway' 以打开下面的编号菜单。
可用操作
| 选项 | 操作 |
|---|---|
| 1 | 禁用 PCoIP 安全网关 |
| 2 | 禁用 BLAST 安全网关 |
| 3 | 同时禁用 PCoIP 和 BLAST 安全网关 |
| 4 | 启用 PCoIP 安全网关 |
| 5 | 启用 BLAST 安全网关 |
| 6 | 同时启用 PCoIP 和 BLAST 安全网关 |
| 7 | 退出 |
安全网关管理必须直接在安装了网关服务的 Horizon Connection Server 上运行。该工具会在继续操作前,验证是否检测到 Horizon Connection Server 安装。
命令行(非交互式)模式
Horizon Advisor 支持将非交互式执行用于脚本或自动化流程。可从命令行直接将参数传递到 Start-HorizonAdvisor.ps1。
语法
.\Start-HorizonAdvisor.ps1 -Flow 'Precheck Validation' -Validation <type> -TargetHorizonVersion <version> [options]
参数
| 参数 | 必需 | 描述 |
|---|---|---|
| -Flow | 是 | 'Precheck Validation'、'ADLDS Operation'、'ADLDS Tools'、'Manage Security Gateway' 或 lcm |
| -Validation | 用于非交互式预检查 | activedirectory、vcenter、server、ldap、capacityprovider 或 all。使用 -Flow 'ADLDS Operation' 时,可通过 adws 打开 ADWS 状态管理。 |
| -TargetHorizonVersion | 是(仅 ldap 除外) | 目标 Horizon 版本,例如,2503 |
| -AdFqdn | 用于 activedirectory / all | Active Directory FQDN |
| -VCenterFqdn | 用于 vcenter / all | vCenter FQDN |
| -VCenterVersion | 用于 vcenter / all | vCenter 版本,例如,8.0.2 |
| -CapacityProviderType | 用于 capacityprovider | 容量提供程序类型,例如,Nutanix_PrismCentral、OpenShift 或 Amazon_WorkSpaces_Core |
| -CapacityProviderFqdn | 用于 capacityprovider | 容量提供程序 FQDN |
| -CapacityProviderVersion | 用于 capacityprovider | 容量提供程序版本。对于没有版本检查的提供程序,可省略此参数。 |
| -HorizonAdminUsername | 用于 ldap / all | Horizon 管理员用户名 |
| -HorizonDomain | 用于 ldap / all | Horizon 域 |
| -HorizonAdminPassword | 用于 ldap / all | SecureString 形式的 Horizon 管理员密码 |
| -AcceptSelfSignedCertificate | 否 | 禁止 ldap 验证过程中的 TLS 证书提示 |
| -ExecutionMode | 否 | Local(默认)、Remote、LocalPOD 或 CPACluster |
| -RemoteServersCSV | 使用 -ExecutionMode Remote 时 | 列出要验证的服务器的文件 |
| -Task | 用于 lcm | install 或 upgrade |
| -Config | 用于 lcm | LCM 配置文件 |
| -BuildMetadata | 否 | 官方内部版本元数据文件,适用于不在嵌入式目录中的 LCM 内部版本 |
| -TelemetryConsent | 否 | enable、disable、reset 或 status |
| -Help | 否 | 显示命令行帮助 |
示例
运行服务器验证:
.\Start-HorizonAdvisor.ps1 -Flow 'Precheck Validation' -Validation server -TargetHorizonVersion '2503'
运行 Active Directory 验证:
.\Start-HorizonAdvisor.ps1 -Flow 'Precheck Validation' -Validation activedirectory -AdFqdn 'dc.corp.example.com' -TargetHorizonVersion '2503'
运行 vCenter 验证:
.\Start-HorizonAdvisor.ps1 -Flow 'Precheck Validation' -Validation vcenter -VCenterFqdn 'vcenter.corp.example.com' -VCenterVersion '8.0.2' -TargetHorizonVersion '2503'
运行容量提供程序验证 (OpenShift):
.\Start-HorizonAdvisor.ps1 -Flow 'Precheck Validation' -Validation capacityprovider -CapacityProviderType OpenShift -CapacityProviderFqdn 'openshift.example.com' -CapacityProviderVersion '4.19' -TargetHorizonVersion '2606'
运行 LDAP 验证 — 运行时以安全方式提示输入密码:
.\Start-HorizonAdvisor.ps1 -Flow 'Precheck Validation' -Validation ldap -HorizonAdminUsername 'admin' -HorizonDomain 'corp'
运行 LDAP 验证并接受自签名证书而不出现提示:
.\Start-HorizonAdvisor.ps1 -Flow 'Precheck Validation' -Validation ldap -HorizonAdminUsername 'admin' -HorizonDomain 'corp' -AcceptSelfSignedCertificate
运行所有验证 — 运行时以安全方式提示输入密码:
.\Start-HorizonAdvisor.ps1 -Flow 'Precheck Validation' -Validation all -AdFqdn 'dc.corp.example.com' -VCenterFqdn 'vcenter.corp.example.com' -VCenterVersion '8.0.2' -TargetHorizonVersion '2503' -HorizonAdminUsername 'admin' -HorizonDomain 'corp'
针对一组服务器运行所有验证:
.\Start-HorizonAdvisor.ps1 -Flow 'Precheck Validation' -Validation all -ExecutionMode Remote -RemoteServersCSV 'C:\servers.csv' -AdFqdn 'dc.corp.example.com' -VCenterFqdn 'vcenter.corp.example.com' -VCenterVersion '8.0.2' -TargetHorizonVersion '2503' -HorizonAdminUsername 'admin' -HorizonDomain 'corp'
从配置文件安装或升级连接服务器:
.\Start-HorizonAdvisor.ps1 -Flow lcm -Task install -Config lcm_install.json
.\Start-HorizonAdvisor.ps1 -Flow lcm -Task upgrade -Config lcm_upgrade.json
打开 ADWS 状态管理或 ADLDS 维护工具:
.\Start-HorizonAdvisor.ps1 -Flow 'ADLDS Operation' -Validation adws
.\Start-HorizonAdvisor.ps1 -Flow 'ADLDS Tools'
自动/脚本运行的密码处理
在将 Horizon Advisor 作为计划任务或自动化流程的一部分运行时,由于无法进行交互式提示,您需要使用 -HorizonAdminPassword 参数以 PowerShell SecureString 形式预先提供密码。
如何置备 SecureString 取决于贵组织的安全实践,例如:从密钥管理器、凭据保管库、加密文件或任何其他方式获取。唯一的要求是传递到 -HorizonAdminPassword 的值必须是 SecureString。
示例:传递 SecureString 以自动执行:
# Obtain a SecureString by whatever method suits your environment
$securePassword = <your SecureString here>
.\Start-HorizonAdvisor.ps1 -Flow 'Precheck Validation' -Validation ldap `
-HorizonAdminUsername 'admin' -HorizonDomain 'corp' `
-HorizonAdminPassword $securePassword
获取帮助
要直接从控制台显示命令行用法和示例,请执行以下操作:
.\Start-HorizonAdvisor.ps1 -Help
此页面对您有帮助吗?