Horizon Advisor 是一款基于 PowerShell 的 Omnissa Horizon 环境管理工具。使用此工具,可在安装或升级 Horizon Server 之前验证您的环境、执行 AD LDS 维护,以及管理安全网关服务,所有这些操作均通过一个交互式控制台界面完成。
必备条件
要求表
| 要求 | 详细信息 |
|---|---|
| 操作系统 | Horizon Connection Server 支持的操作系统 |
| PowerShell | 版本 5.0 或更高版本 |
| 浏览器(用于 PDF 报告) | Microsoft Edge (Chromium) 或 Google Chrome,用于将 HTML 报告转换为 PDF |
| 权限 | 以具有相应 Horizon 管理权限的用户身份运行 |
| 网络访问 | 对 Horizon Connection Server(端口 443)的 HTTPS 访问权限,用于进行 LDAP/API 验证 |
**注意:**Horizon Advisor 必须直接在需要执行预检查的系统上运行。
启动工具
打开 PowerShell 控制台,然后导航到将 Horizon Advisor 提取到的文件夹。
然后运行:
.\Start-HorizonAdvisor.ps1
此时将打开交互式主菜单。
**重要信息:**每次运行 Start-HorizonAdvisor.ps1 时,都会清除以前接受的 TLS 证书。在每次重新运行时,系统将再次提示您接受任何不受信任或自签名的证书。
主菜单概览
启动后,您将看到以下菜单:
================================================================
Welcome to Omnissa Horizon Advisor
Your Comprehensive Horizon Management Tool
================================================================
Main Menu - Please select an option:
1. Pre-Check Operations for Horizon Server Install / Upgrade
2. AD LDS Operations
3. Manage Secure Gateway Service
4. Exit
选择带编号的选项,然后按 Enter。
预检查操作
预检查将根据 Omnissa 针对目标 Horizon 版本发布的要求验证您的环境。它会检查 Active Directory 设置、vCenter 连接、服务器必备条件和 LDAP/API 连接,然后生成详细的 HTML 报告,并可选择生成 PDF 报告。
验证类型
选择预检查操作时,将显示以下选项:
| 选项 | 验证类型 | 检查内容 |
|---|---|---|
| 运行所有验证 | 完整报告 | 在一份综合报告中运行列出的所有检查 |
| Active Directory 要求验证 | Active Directory 配置 | 林和域功能级别、AD 架构兼容性、DNS 设置和其他 AD 必备条件 |
| 容量提供程序要求验证 | 容量提供程序配置 | 目标 Horizon 版本对应的容量提供程序 i 版本兼容性和配置要求 |
| Horizon Server 系统要求验证 | 连接服务器必备条件 | 本地服务器设置、操作系统版本和特定于 Horizon 的服务器配置要求 |
| LDAP 要求验证 | LDAP 要求 | 验证架构主机可访问性和 LDAP 复制运行状况 |
| 退出 | — | 退出工具 |
**注意:**LDAP 要求验证仅适用于 Horizon Server 2412 及更高版本。
以交互方式运行验证
选择验证类型后,该工具将提示您输入所需的内容:
Active Directory 验证
- Active Directory FQDN(例如,dc.corp.example.com)
- 目标 Horizon 版本(例如,2503)
vCenter 验证
- vCenter FQDN(例如,vcenter.corp.example.com)
- vCenter 版本(例如,8.0.2)
- 目标 Horizon 版本
服务器验证
- 目标 Horizon 版本
LDAP 验证
- Horizon 管理员用户名
- Horizon 域
- Horizon 管理员密码(已安全输入 - 输入内容已隐藏)
运行所有验证
- 在执行开始之前收集上述所有输入内容。
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 以拒绝。连接将中止,验证不会继续进行。
每次运行时都会显示此提示。接受的证书永远不会永久存储。
了解报告
验证完成后,将自动生成 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 报告。
2. AD LDS 操作
本单元将提供针对连接服务器上 Horizon AD LDS(Active Directory 轻型目录服务)分区的维护操作。
可用操作
| 选项 | 操作 | 描述 |
|---|---|---|
| 1 | 清理失效的客户端用户首选项数据 | 从 Horizon AD LDS 分区中移除在可配置的月数(默认:3 个月)内未修改的 pae-Prop 对象。有助于回收空间并减少 AD LDS 膨胀。 |
| 2 | 退出 | 返回到主菜单 |
使用清理操作
-
从“AD LDS 操作”菜单中选择“选项 2”(或直接运行清理脚本)。
该工具会显示检测到的 Horizon 分区 DN。 -
选择您的操作:
- 选项 1:显示失效条目计数(不删除)- 安全预览
- 选项 2:删除失效条目 - 执行实际清理
-
输入失效阈值:
- 指定将数据视为失效的月数
- 按 Enter 键接受默认值 3 个月
- 只有在此期间内未经修改的数据才会受到影响
-
查看失效条目计数:
- 该工具将扫描 AD LDS 并显示找到的失效对象数量
- 如果选择了“选项 1”,则操作至此结束,不会执行删除
-
确认删除(仅限“选项 2”):
- 查看要删除的条目计数
- 键入 1 以确认删除。
- 键入任何其他内容或按 Esc 键以取消操作。
-
删除过程:
- 该工具将分批删除匹配的对象(每批 2,000 个)。
- 每完成一批,系统将报告当前进度:
-
完成:
-
显示已删除对象的总数。
-
删除报告显示以下内容:
- 删除的对象总数
- 清理完成状态
-
**提醒:**此操作将从 AD LDS 中永久删除用户首选项数据。在继续删除之前:
- 确认已备份 AD LDS 数据库
- 与您的团队确认可以安全移除旧首选项
- 首先运行“选项 1”以进行预览
- 考虑在用户活动最少的维护时段运行
管理安全网关服务
本单元将在 Horizon Connection Server 上启用或禁用 PCoIP 安全网关和 BLAST 安全网关服务。
可用操作
| 选项 | 操作 |
|---|---|
| 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 <type> -TargetHorizonVersion <version> [options]
参数
| 参数 | 必填 | 描述 |
|---|---|---|
| -Flow | 是 | 必须为 precheck |
| -Validation | 是 | activedirectory、vcenter、server、ldap 或 all |
| -TargetHorizonVersion | 是(仅 ldap 除外) | 目标 Horizon 版本,例如,2503 |
| -AdFqdn | 用于 activedirectory / all | Active Directory FQDN |
| -VCenterFqdn | 用于 vcenter / all | vCenter FQDN |
| -VCenterVersion | 用于 vcenter / all | vCenter 版本,例如,8.0.2 |
| -HorizonAdminUsername | 对于 ldap / all | Horizon 管理员用户名 |
| -HorizonDomain | 对于 ldap / all | Horizon 域 |
| -HorizonAdminPassword | 对于 ldap / all | SecureString 形式的 Horizon 管理员密码 |
| -AcceptSelfSignedCertificate | 否 | 禁止 ldap 验证过程中的 TLS 证书提示 |
| -Help | 否 | 显示命令行帮助。 |
示例
运行服务器验证:
.\Start-HorizonAdvisor.ps1 -Flow precheck -Validation server -TargetHorizonVersion '2503'
运行 Active Directory 验证:
.\Start-HorizonAdvisor.ps1 -Flow precheck -Validation activedirectory -AdFqdn 'dc.corp.example.com' -TargetHorizonVersion '2503'
运行 vCenter 验证:
.\Start-HorizonAdvisor.ps1 -Flow precheck -Validation vcenter -VCenterFqdn 'vcenter.corp.example.com' -VCenterVersion '8.0.2' -TargetHorizonVersion '2503'
运行 LDAP 验证 — 运行时以安全方式提示输入密码:
.\Start-HorizonAdvisor.ps1 -Flow precheck -Validation ldap -HorizonAdminUsername 'admin' -HorizonDomain 'corp'
运行 LDAP 验证并接受自签名证书而不出现提示:
.\Start-HorizonAdvisor.ps1 -Flow precheck -Validation ldap -HorizonAdminUsername 'admin' -HorizonDomain 'corp' -AcceptSelfSignedCertificate
运行所有验证 — 运行时以安全方式提示输入密码:
.\Start-HorizonAdvisor.ps1 -Flow precheck -Validation all -AdFqdn 'dc.corp.example.com' -VCenterFqdn 'vcenter.corp.example.com' -VCenterVersion '8.0.2' -TargetHorizonVersion '2503' -HorizonAdminUsername 'admin' -HorizonDomain 'corp'
自动/脚本运行的密码处理
在将 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 ldap `
-HorizonAdminUsername 'admin' -HorizonDomain 'corp' `
-HorizonAdminPassword $securePassword
获取帮助
要直接从控制台显示命令行用法和示例,请执行以下操作:
.\Start-HorizonAdvisor.ps1 -Help
此页面对您有帮助吗?