本主题介绍如何排查 Windows Hardware Lab Kit (Windows HLK) 客户端的问题。
若要获得有关 Windows HLK Client 设置过程中出现的问题的帮助,请参阅排查 Windows HLK 设置问题。
无法使客户端计算机退出“调试”状态
问题。 客户端不会从“调试”状态更改为“就绪”状态,即使在 Windows HLK 管理器中将状态更改为“重置”后也是如此。
此问题可能是由于 Windows HLK 控制器计算机与 Windows HLK 客户端计算机之间的通信不足,或这两个系统之间的受信任密钥不匹配所导致的。
按照以下顺序尝试这些解决方案:
尝试客户端计算机无法与 Windows HLK 控制器通信中的解决方案。
使用删除并重新安装 Windows HLK 客户端中的步骤重新安装客户端。
上一个测试失败后无法选择测试
测试失败后,测试列表的复选框将灰显,并且无法选择其他测试。
如果选择一个目标但无法选择任何测试,则计算机未处于就绪状态。
转到“配置”菜单,使计算机处于就绪状态。
客户端计算机在测试期间进入睡眠状态
非 Arm 计算机的始终开启、始终连接 (AOAC) 计算机可能会在测试期间进入睡眠状态。 若要防止出现这种情况,请在每个 Windows HLK 客户端计算机上从提升权限的命令提示符处运行以下命令:
powercfg /setacvalueindex scheme_current sub_video videoidle 0 & Powercfg /setdcvalueindex scheme_current sub_video videoidle 0 & Powercfg /s scheme_current
客户端计算机已被 LLU 帐户锁定
如果客户端计算机已被 LLU 帐户锁定或无响应,则必须使用 LLU 帐户的正确凭据登录。 客户端计算机上的两个主要 LLU 帐户是:
本地标准用户帐户
客户端计算机使用此帐户运行测试,这些测试需要客户端计算机以及与之通信的任何其他计算机上的本地标准用户访问权限。 本地管理员帐户凭据还可用于此类型的测试,但可能不需要额外的权限。
LLU 名称。 LLU_LSU
用户名。 <客户端计算机名称>\WDKLclStdUsr
密码。 WDKStdTstUsr!
本地管理用户帐户
客户端计算机使用此帐户运行测试,这些测试需要客户端计算机以及与之通信的任何其他计算机上的本地管理员访问权限。
LLU 名称。 LLU_LAU
用户名。 <客户端计算机名称>\LLUAdminUser
密码。 Testpassword,1
客户端计算机无法与 Windows HLK 控制器通信
如果客户端计算机无法与 Windows HLK 控制器通信,请查看以下问题和解决方案:
客户端计算机未出现在“Windows HLK 管理器作业监视器”窗口的“计算机列表”中。
客户端计算机无法连接到控制器计算机。
客户端计算机不在 Windows HLK 管理器的作业计划程序中处理作业。
即使在重置之后,客户端计算机也始终会转为调试状态。
按照以下顺序尝试这些解决方案:
查看步骤 2:在测试计算机上安装客户端中的步骤并检查两台计算机之间的基本网络连接。
请确保 Windows HLK 的 Internet 连接防火墙 (ICF) 端口在 Windows HLK 客户端和 Windows HLK 控制器计算机上处于打开状态。
在 Windows 7 中打开 Windows HLK 的 ICF 端口
打开“控制面板”
单击“系统和安全”>“Windows 防火墙”>“高级设置”>“入站规则”。
请确保“WLK 客户端”存在并已启用。
如果不存在 WLK 客户端,请依次单击“新建规则”、“端口”和“下一步”。
在“特定本地端口”框中键入“1771”,对“允许连接”单击两次“下一步”。
保持选中所有配置文件,然后单击“下一步”。
对于“名称”,键入“WLK 客户端”,然后单击“完成”。
打开 Windows HLK 的 ICF 端口
打开“控制面板”
单击“安全性”>“Windows 防火墙”>“更改设置”。
单击“例外”选项卡。请确保“WLK 客户端”存在并在“程序和服务”下选中。
如果未显示“WLK 客户端”,请单击“添加端口”并输入以下信息:
在“名称”框中,键入“WLK 客户端”。
在“端口号”框中,键入“1771”。
单击“TCP”按钮,然后单击“确定”。
返回到“例外”选项卡,确保已选中“WLK 客户端”复选框,然后单击“确定”。
禁用 Internet 协议安全性 (IPSec)
要使 Windows HLK 客户端和 Windows HLK 控制器计算机进行通信,所有计算机都必须运行 IPsec,或者所有计算机都必须禁用 IPsec。
禁用 IPSec
- 在命令提示符下,键入 net stop ipsec,然后按 Enter。
更改 IPSec 属性
在命令提示符下,键入 services.msc,然后按 Enter。 将显示 Microsoft 管理控制台。
双击“IPSec 策略代理”并更改其“启动类型”(“自动” | “手动” | “已禁用”)和/或“服务状态”(“启动” | “停止”)。
HLK Studio 中的客户端信息不准确
如果 Gatherer 数据不是最新的,则 Windows HLK Studio 中显示的 Windows HLK 客户端信息可能不准确。 不准确的信息可能包含以下数据:
缺少或检测到的功能。
缺少或多余的测试。
操作系统附带的驱动程序将报告为未包括。
操作系统未附带的驱动程序将报告为包括。
若要解决此问题,请执行以下步骤:
重新启动 Windows HLK 客户端计算机。
(可选)删除 Windows HLK Studio 中的项目。
(可选)重置 Windows HLK 管理器作业监视器中的客户端计算机的状态。
关闭 Windows HLK Studio 和 Windows HLK 管理器的的所有实例。
重新启动 Windows HLK Studio。
创建新项目并将 Windows HLK 客户端计算机添加到计算机池。
客户端软件未从测试系统中卸载
当为测试系统删除了 Windows HLK 控制器的数据库中的条目时,会出现此问题。 十分钟或更短时间后,客户端软件会发送出新信号(检测信号),控制器会在数据库中生成新的客户端条目。 出现客户端条目后,客户端将显示在 Windows HLK Studio 的“配置”屏幕中;但是,当在“选择”选项卡上选择计算机池时,不会为系统列出任何目标。
若要解决此问题,请获取 Gatherer 以返回一些新数据。 可以通过安装驱动程序或硬件或重新启动客户端系统来实现此目的。
添加用户 <domain\username> 时遇到错误
尝试为域用户创建用户帐户时,将显示以下错误消息:
添加用户 <domain\username> 时遇到错误
无法为用户授予/删除对数据存储控制器名称的权限:用户 username 在域 domain 中不存在。 请确保用户名有效,或与网络管理员联系。
错误消息所提到的域是本地计算机域。 如果以本地管理员身份登录到 Windows HLK Studio 计算机,则无法为域用户创建用户帐户。 必须注销并以具有管理员权限的域用户身份重新登录,然后为域用户创建用户帐户。
错误:“已跳过公钥”对于计算机为 null
尝试将本地逻辑用户 (LLU) 添加到客户端计算机时,会出现以下错误:
“已跳过公钥”对于计算机为 null。
此错误表示 Windows HLK 客户端未正确安装。 若要解决此问题,请卸载并重新安装 Windows HLK 客户端。 有关详细信息,请参阅卸载并重新安装 Windows HLK 客户端。
作业卡在计划程序中
设置作业时,Windows 计划程序搜索客户端计算机以运行该作业。 计划程序会考虑计算机池中可用且能够运行作业的所有客户端计算机。
使用 Windows HLK 管理器作业监视器查看作业的状态时,“作业执行状态”窗格的“当前管道”列将显示作业状态。 如果作业的“当前管道”值为“计划程序”,并且如果此值在几分钟后未更改,请确保计算机池中存在状态为“就绪”的 Windows HLK 客户端。
如果没有 Windows HLK 客户端计算机准备好运行作业,请参阅步骤 3:创建计算机池。
如果 Windows HLK 客户端计算机可用于运行作业,请确保至少有一台 Windows HLK 客户端计算机能够运行作业。 检查 Windows HLK 客户端计算机的属性,并将其与作业要求进行比较。
如果作业包含计算机集,请确认是否有足够的 Windows HLK 客户端计算机来满足所有计算机集的要求。 Windows HLK 同时计划所有 Windows HLK 客户端计算机。
如果作业在计划程序中保持不变,请确保 HLK 控制器上的 SQL Server (MSSQLSERVER)、WTTChangeScheduler、WTTServer、HLKSvc 和 DTMSERVICE 服务在 services.msc 中已启动。
重新安装 Windows HLK 客户端后作业不运行
如果安装了 Windows HLK 控制器和 Windows HLK Studio,计划了某些作业,然后卸载并重新安装了 Windows HLK 客户端,则以前计划的作业不会运行。
在这种情况下,必须通过卸载并重新安装客户端,在 Windows HLK 客户端计算机与 Windows HLK 控制器计算机之间建立新连接。 有关如何执行此操作的信息,请参阅删除并重新安装 Windows HLK 客户端。
多个客户端系统被标识为同一系统
客户端系统通过一对哈希进行标识。 这些哈希单独由以下数据集组成:
哈希 1:
smbios UUID
smbios serial number
smbios manufacturer
smbios model
smbios SKU number
哈希 2:
mac address 0
driver 0 vendor
driver 0 product
driver 0 serial number
此特征允许你更改硬件,同时保留相同的计算机标识符。 但是,如果两个(或多个)不同系统的哈希太相似,则这些系统会被标识为同一系统。 这将导致最后一个系统的检测信号成为活动客户端。
为了防止这种情况发生,哈希数据对于每个客户端系统应该是唯一的。 要更新的最简单值是 smbios UUID 和 smbios 序列号。
可以在 CLIENTMACHINE Gatherer 数据中查看这些值。 此日志无法确定这些值,修改此日志不会阻止或解决问题。
此日志位于 %SystemDrive%\WLK\JobsWorkingDir\AssetCfg\Log 中。
远程桌面无法连接到 Windows HLK 客户端计算机
如果远程桌面无法连接到 Windows HLK 客户端计算机,请确保远程桌面是 Windows 防火墙例外。
允许 Windows 7 中的远程桌面连接
打开“控制面板”
单击“系统和安全”>“Windows 防火墙”>“允许程序或功能通过 Windows 防火墙”。
单击“远程桌面”复选框,然后单击“确定”。
允许 Windows Vista 中的远程桌面连接
打开“控制面板”
系统和安全“安全性”>“Windows 防火墙”>“更改设置”。
单击“例外” 选项卡。
单击“远程桌面”复选框,然后单击“确定”。
删除并重新安装 Windows HLK 客户端
警告
不要删除 Windows HLK 作为排查 Windows HLK 客户端问题的第一步。 如果重新安装 Windows HLK 客户端,任何正在进行的认证测试都将丢失,并且必须重新运行新项目中的所有测试。
删除并重新安装 Windows HLK 客户端
卸载 Windows HLK 客户端(“控制面板”>“卸载程序”>“Windows 硬件认证工具包客户端”。)
启动 Windows HLK 管理器,转到“资源管理器 | 作业监视器”,右键单击计算机,然后选择“更改状态 -> 不安全”以将计算机设置为“不安全”状态。
使用步骤 2:在测试系统上安装客户端主题中的步骤安装 Windows HLK 客户端。
等待计算机进入“HLK 管理器 | 作业监视器”中“状态”列下的“手动”状态。
转到“资源管理器 | 作业监视器”,右键单击计算机,然后选择“更改状态 -> 重置”。
等待计算机自动返回到“就绪”状态,或在 Windows HLK 管理器中单击“刷新”。
SQL Server 更新导致 Windows HLK 客户端崩溃
SQL Server 更新可能会导致 Windows HLK 崩溃。 若要解决此问题,请在运行 HLK 测试时禁用自动更新:
- Windows 10
- 打开“设置”应用
- 选择“更新”&“安全性”
- 选择“Windows 更新”
- 选择“高级选项”
- 选择“推迟升级”选项
- Windows 10 之前
- 打开“控制面板”
- 选择“Windows 更新”
- 选择“更改设置”
- 选择禁用自动更新的选项
安装 HLK 客户端后,客户端计算机进入 Windows 诊断模式
如果收到提示,则检查 C:\Windows\System32\LogFiles\srt\SrtTrail.txt 日志文件并收到以下错误:
Root cause found:
----------------------------
Boot critical file c:\windows\system32\drivers\msdmfilt.sys is corrupt.
需要从 BIOS/UEFI 中禁用 SecureBoot。 除非在设备/系统上运行 SecureBoot 测试,否则需要禁用 SecurBoot 以运行 HLK 测试。
不支持的场景
Windows HLK 客户端不支持以下方案:
多个操作系统。 不支持在安装了 Windows HLK 客户端的计算机上安装多个操作系统。 如果计算机上安装了多个操作系统,并且安装了 Windows HLK 客户端的多个实例,则可能会导致在不重新安装操作系统的情况下无法修复的错误。
应在受测系统上仅安装 HLK 客户端的一个实例。 在此方案中,系统包括所有相关的物理磁盘和分区。
在多个客户端计算机上测试。 如果使用多个客户端计算机完成测试项目,则必须使用相同的客户端计算机来完成,并且还要将测试项目打包到 Windows HLK Studio 中。 例如,如果一台计算机针对 Windows 7 x86 进行测试,而另一台计算机针对 Windows 7 x64 进行测试,则必须在更改系统或操作系统之前完成并打包每台计算机上的所有测试。 如果更改有关客户端计算机的一切内容,则可能会使项目失效,然后必须使用新项目重新启动测试。 如果进行了以下任何更改,可能需要重新启动测试项目:
更改计算机名称
重新安装客户端
重新安装操作系统
将计算机从域移动到工作组,或从工作组移动到域。
如果 Windows HLK 客户端计算机上有上述不支持的方案之一,则可能没有检测信号、卡在计划程序中的作业或未运行的作业。
若要重新建立工作测试环境,请将 Windows HLK 客户端系统改回其原始状态,以继续操作并完成测试提交。 (可选)卸载并重新安装 Windows HLK 控制器和 Windows HLK 客户端,以便所有系统都加入域或是工作组的一部分。
受监视的系统没有检测信号
如果在配置中选择计算机池,并从配置屏幕监视测试系统,则检测信号(即用户界面 (UI) 时间戳)不会更新。
这是一个 Windows HLK Studio UI 问题。 系统继续发出检测信号,但 UI 不会更新。
若要更新检测信号时间戳,请切换计算机池。
Windows 7 客户端未进入“就绪”状态
问题。 测试 Windows HLK 客户端出现在默认测试池中并具有最新检测信号,但当将客户端的状态更改为“重置”时,状态不会更改为“就绪”,最终将更改为“调试”。
如果测试计算机连接到公用网络,则 Windows HLK 客户端不会进入“就绪”状态,因为公用网络类别受到限制,并且网络发现在默认情况下处于关闭状态。
解决方案。 更改 Windows HLK 客户端的网络位置。
将 Windows HLK 客户端更改为家庭或专用网络
在客户端计算机上,打开控制面板,单击“网络和 Internet”,然后单击“查看网络状态和任务”。
在 Windows 7 上,如果查看活动网络下的网络设置为公用网络,请单击公用网络,然后将其更改为家庭网络。
-或-
在 Windows Vista 上,如果网络类别(在“网络详细信息”下)设置为“公用网络”,请单击“更改”,然后单击“专用”。
Windows HLK 客户端状态从“重置”更改为“就绪”,此操作会在计算机上重新安装 Windows HLK 客户端。