上一篇博文我提到了DomainTrustCheck失败导致会话主机状态不可用问题以及如何解决的。本篇文章介绍另一个原因即SxsStack listener is not ready导致的Azure虚拟桌面会话主机状态不可用的问题以及解决方案。
查看会话主机VM状态,发现SxSStackListenerCheck状态失败。
疑难解答中提示:“此健康状况检查验证并行堆栈是否已启动并运行、侦听并准备好接收连接。如果此检查失败,则是致命的,并且不会成功连接。代理正在采取纠正措施来解决此问题。你可能还想重启 VM。如果这不起作用,请打开支持票证。 尝试重启VM,发现问题依旧。于是登录虚拟机,检查应用程序日志,遗憾的是,应用程序日志中没有来自 WVDAgent 的失败事件日志。重新安装 AVD 代理无法解决问题。”
查看JSON文件:
[ { "healthCheckName": "DomainJoinedCheck", "healthCheckResult": "HealthCheckSucceeded", "additionalFailureDetails": { "message": "", "errorCode": 0, "lastHealthCheckDateTime": "2023-03-07T16:04:47.7589436Z" } }, { "healthCheckName": "DomainTrustCheck", "healthCheckResult": "HealthCheckSucceeded", "additionalFailureDetails": { "message": "", "errorCode": 0, "lastHealthCheckDateTime": "2023-03-07T16:04:47.821439Z" } }, { "healthCheckName": "SxSStackListenerCheck", "healthCheckResult": "HealthCheckFailed", "additionalFailureDetails": { "message": "SessionHost unhealthy: SxsStack listener is not ready", "errorCode": -2147467259, "lastHealthCheckDateTime": "2023-03-07T16:17:48.642109Z" } }, { "healthCheckName": "MonitoringAgentCheck", "healthCheckResult": "HealthCheckSucceeded", "additionalFailureDetails": { "message": "Located running process at C:\\Program Files\\Microsoft RDInfra\\RDMonitoringAgent_45.5.2\\Agent\\MonAgentLauncher.exe", "errorCode": 0, "lastHealthCheckDateTime": "2023-03-07T16:19:47.9098578Z" } }, { "healthCheckName": "MetaDataServiceCheck", "healthCheckResult": "HealthCheckSucceeded", "additionalFailureDetails": { "message": "{\r\n \"Details\": \"IMDS pressumed available\",\r\n \"AzureResourceId\": \"/subscriptions/1be0981d-88d2-44f1-be97-8f5e29b1fe91/resourceGroups/AZVDI/providers/Microsoft.Compute/virtualMachines/AZVDIVM-pj1\",\r\n \"VmId\": \"41ee459b-2702-4ee1-b2a4-cf17baac61b5\"\r\n}", "errorCode": 0, "lastHealthCheckDateTime": "2023-03-07T16:04:48.0558226Z" } }, { "healthCheckName": "AppAttachHealthCheck", "healthCheckResult": "HealthCheckSucceeded", "additionalFailureDetails": { "message": "SessionHost healthy: MSIX packages have been properly staged", "errorCode": 0, "lastHealthCheckDateTime": "2023-03-07T16:19:52.0973905Z" } }]
找到错误代码 "errorCode": -2147467259。
通过错误代码找到一个解决方案是先卸载所有SxS网络堆栈。然后重新安装。于是通过如下命令:
Uninstall-Package -Name "Remote Desktop Services SxS Network Stack" -AllVersions -Force
尝试卸载掉SXS,
使用以下命令重新安装SXS
$sxsMsi = (Get-ChildItem "$env:SystemDrive\Program Files\Microsoft RDInfra\" | ? Name -like SxSStack*.msi | Sort-Object CreationTime -Descending | Select-Object -First 1).FullName
msiexec /i $sxsMsi
安装完成之后重新启动虚拟机。然后回到会话主机池,检查状态,发现已经恢复为可用了
至此问题解决。