排查 Windows 更新代理问题
在进行更新管理部署时计算机未显示为已就绪(正常),这可能有多种原因。 你可以检查 Windows 混合 Runbook 辅助角色代理的运行状况,以确定潜在问题。 以下是计算机的三种就绪状态:
- 就绪:已部署混合 Runbook 辅助角色,并且上次访问它的时间距当前时间不到一小时。
- 已断开连接:已部署混合 Runbook 辅助角色,并且上次访问它的时间距当前时间超过一小时。
- 未配置:混合 Runbook 辅助角色找不到或尚未完成部署。
注意
Azure 门户显示的内容和计算机的当前状态之间可能会有些微延迟。
本文介绍如何从 Azure 门户为 Azure 计算机运行故障排除,以及如何为离线场景下的非 Azure 计算机运行故障排除。
注意
故障排除脚本现在包含对 Windows Server Update Services (WSUS) 以及对自动下载和安装密钥的检查。
启动“故障排除”
对于 Azure 计算机,通过选中门户中“更新代理准备”列下的“故障排除”链接,可以启动“排除更新代理故障”页。 对于非 Azure 计算机,该链接会转到本文。 若要对非 Azure 计算机进行故障排除,请参阅脱机进行故障排除。
注意
若要查看混合 Runbook 辅助角色的运行状况,VM 必须处于运行状态。 如果 VM 没有运行,屏幕上会显示“启动 VM”按钮。
在“排除更新代理故障”页上选择“运行检查”,启动故障排除。 故障排除使用运行命令在计算机上运行脚本以验证依赖项。 完成故障排除时,它会返回检查的结果。
结果准备就绪后会显示在该页上。 检查部分显示每个检查中包含的内容。
先决条件检查
操作系统
操作系统检查将验证混合 Runbook 辅助角色是否正在运行受支持的操作系统之一
.NET 4.6.2
.NET Framework 检查,用于验证系统是否安装了 .NET Framework 4.6.2 或更高版本。
若要修复,请安装 .NET Framework 4.6 或更高版本。
下载 .NET Framework。
WMF 5.1
WMF 检查,用于验证系统是否具有所需的 Windows Management Framework (WMF) 版本。
若要修复,需要下载并安装 Windows Management Framework 5.1,因为 Azure 更新管理需要 Windows PowerShell 5.1 才能正常运行。
TLS 1.2
此项检查用于确定是否使用 TLS 1.2 加密通信。 该平台不再支持 TLS 1.0。 请使用 TLS 1.2 与更新管理进行通信。
若要修复,请执行启用 TLS 1.2 中的步骤
监视代理服务运行状况检查
混合 Runbook 辅助角色
若要解决此问题,请强制重新注册混合 Runbook 辅助角色。
Remove-Item -Path "HKLM:\software\microsoft\hybridrunbookworker" -Recurse -Force
Restart-service healthservice
注意
这将移除计算机中的用户混合辅助角色。 请确保事后进行检查并重新注册。 如果计算机只有系统混合 Runbook 辅助角色,则无需执行任何操作。
若要验证,请检查 Microsoft-SMA/Operational 事件日志中是否存在事件 ID 15003(HW 启动事件)或 15004(HW 停止事件)。
如果问题仍未解决,请提出支持工单。
VM 链接工作区
请参阅网络要求。
若要验证,请检查已连接的 VM 工作区或相应日志分析的信号检测表。
Heartbeat | where Computer =~ ""
Windows 更新服务状态
若要解决此问题,请启动 wuaserv 服务。
Start-Service -Name wuauserv -ErrorAction SilentlyContinue
连接性检查
如果配置了代理服务器,则故障排除当前不会通过它路由流量。
注册终结点
此检查确定代理是否可以与代理服务正确通信。
代理和防火墙配置必须允许混合 Runbook 辅助角色代理与注册终结点通信。 有关要打开的地址和端口的列表,请参阅网络规划。
允许先决条件 URL。 网络更改后,你可以重新运行疑难解答,或运行以下命令进行验证:
$workspaceId =- ""
$endpoint = $workspaceId + ".agentsvc.azure-automation.cn"
(Test-NetConnection -ComputerName $endpoint -Port 443 -WarningAction SilentlyContinue).TcpTestSucceeded
操作终结点
此检查用于确定代理是否可以与作业运行时数据服务正确通信。
代理和防火墙配置必须允许混合 Runbook 辅助角色代理与作业运行时数据服务通信。 有关要打开的地址和端口的列表,请参阅网络规划。
允许先决条件 URL。 网络更改后,你可以重新运行疑难解答,或运行以下命令进行验证:
$jrdsEndpointLocationMoniker = ""
# $jrdsEndpointLocationMoniker should be based on automation account location (jpe/ase/scus) etc.
$endpoint = $jrdsEndpointLocationMoniker + "-jobruntimedata-prod-su1.azure-automation.cn"
(Test-NetConnection -ComputerName $endpoint -Port 443 -WarningAction SilentlyContinue).TcpTestSucceeded
HTTPS 连接
简化网络安全规则的日常管理。 允许先决条件 URL。
网络更改后,你可以重新运行疑难解答,或运行以下命令进行验证:
$uri = "https://eus2-jobruntimedata-prod-su1.azure-automation.cn"
Invoke-WebRequest -URI $uri -UseBasicParsing
代理设置
如果已启用代理,请确保你有权访问先决条件 URL
若要检查代理是否正确设置,请使用以下命令:
netsh winhttp show proxy
或检查注册表项 ProxyEnable 是否设置为 1
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
IMDS 终结点连接性
若要解决此问题,请允许访问 IP 169.254.169.254
有关详细信息,请参阅“访问 Azure 实例元数据服务”
网络更改后,你可以重新运行疑难解答,或运行以下命令进行验证:
Invoke-RestMethod -Headers @{"Metadata"="true"} -Method GET -Uri http://169.254.169.254/metadata/instance?api-version=2018-02-01
VM 服务运行状况检查
监视代理服务的状态
此检查将确定适用于 Windows 的 Log Analytics 代理 (healthservice
) 是否正在计算机上运行。 若要详细了解如何对服务进行故障排查,请参阅适用于 Windows 的 Log Analytics 代理未运行。
若要重新安装适用于 Windows 的 Log Analytics 代理,请参阅安装适用于 Windows 的代理。
监视代理服务事件
此检查将确定过去 24 小时内计算机上的 Operations Manager 日志中是否出现过任何 4502 事件。
若要了解有关此事件的详细信息,请参阅 Operations Manager 日志中的事件 4502 来了解此事件。
访问权限检查
计算机密钥文件夹
此检查确定本地系统帐户是否有权访问:C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
若要修复,请授予系统帐户对文件夹“C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys”所需的权限(读取、写入和修改或完全控制)
使用以下命令检查对文件夹的权限:
$folder = "C:\\ProgramData\\Microsoft\\Crypto\\RSA\\MachineKeys"
(Get-Acl $folder).Access |? {($_.IdentityReference -match $User) -or ($_.IdentityReference -match "Everyone")} | Select IdentityReference, FileSystemRights
计算机更新设置
安装后自动重新启动
若要修复,请从 HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU 中删除注册表项
可根据更新管理计划配置来配置重新启动。
AlwaysAutoRebootAtScheduledTime
AlwaysAutoRebootAtScheduledTimeMinutes
有关详细信息,请参阅配置重新启动设置
WSUS 服务器配置
如果环境设置为从 WSUS 获取更新,请确保它在更新部署之前在 WSUS 中获得批准。 有关详细信息,请参阅 WSUS 配置设置。 如果环境未使用 WSUS,请确保删除 WSUS 服务器设置并重置 Windows 更新组件。
自动下载并安装
若要解决此问题,请禁用 AutoUpdate 功能。 在本地组策略“配置自动更新”中将其设置为“禁用”。 有关详细信息,请参阅配置自动更新。
脱机使用故障排除
可以通过在本地运行脚本,在混合 Runbook 辅助角色上脱机使用故障排除。 从 GitHub 获取以下脚本:UM_Windows_Troubleshooter_Offline.ps1。 若要运行该脚本,必须安装 WMF 5.0 或更高版本。 若要下载最新版本的 PowerShell,请参阅安装各种版本的 PowerShell。
此脚本的输出如以下示例所示:
RuleId : OperatingSystemCheck
RuleGroupId : prerequisites
RuleName : Operating System
RuleGroupName : Prerequisite Checks
RuleDescription : The Windows Operating system must be version 6.1.7600 (Windows Server 2008 R2) or higher
CheckResult : Passed
CheckResultMessage : Operating System version is supported
CheckResultMessageId : OperatingSystemCheck.Passed
CheckResultMessageArguments : {}
RuleId : DotNetFrameworkInstalledCheck
RuleGroupId : prerequisites
RuleName : .NET Framework 4.6.2+
RuleGroupName : Prerequisite Checks
RuleDescription : .NET Framework version 4.6.2 or higher is required
CheckResult : Passed
CheckResultMessage : .NET Framework version 4.6.2+ is found
CheckResultMessageId : DotNetFrameworkInstalledCheck.Passed
CheckResultMessageArguments : {}
RuleId : WindowsManagementFrameworkInstalledCheck
RuleGroupId : prerequisites
RuleName : WMF 5.1
RuleGroupName : Prerequisite Checks
RuleDescription : Windows Management Framework version 4.0 or higher is required (version 5.1 or higher is preferable)
CheckResult : Passed
CheckResultMessage : Detected Windows Management Framework version: 5.1.22621.169
CheckResultMessageId : WindowsManagementFrameworkInstalledCheck.Passed
CheckResultMessageArguments : {5.1.22621.169}
RuleId : AutomationAgentServiceConnectivityCheck1
RuleGroupId : connectivity
RuleName : Registration endpoint
RuleGroupName : connectivity
RuleDescription :
CheckResult : Failed
CheckResultMessage : Unable to find Workspace registration information
CheckResultMessageId : AutomationAgentServiceConnectivityCheck1.Failed.NoRegistrationFound
CheckResultMessageArguments :
RuleId : AutomationJobRuntimeDataServiceConnectivityCheck
RuleGroupId : connectivity
RuleName : Operations endpoint
RuleGroupName : connectivity
RuleDescription : Proxy and firewall configuration must allow Automation Hybrid Worker agent to communicate with
eus2-jobruntimedata-prod-su1.azure-automation.cn
CheckResult : Passed
CheckResultMessage : TCP Test for eus2-jobruntimedata-prod-su1.azure-automation.cn (port 443) succeeded
CheckResultMessageId : AutomationJobRuntimeDataServiceConnectivityCheck.Passed
CheckResultMessageArguments : {eus2-jobruntimedata-prod-su1.azure-automation.cn}
RuleId : MonitoringAgentServiceRunningCheck
RuleGroupId : servicehealth
RuleName : Monitoring Agent service status
RuleGroupName : VM Service Health Checks
RuleDescription : HealthService must be running on the machine
CheckResult : Passed
CheckResultMessage : Microsoft Monitoring Agent service (HealthService) is running
CheckResultMessageId : MonitoringAgentServiceRunningCheck.Passed
CheckResultMessageArguments : {Microsoft Monitoring Agent, HealthService}
RuleId : SystemHybridRunbookWorkerRunningCheck
RuleGroupId : servicehealth
RuleName : Hybrid runbook worker status
RuleGroupName : VM Service Health Checks
RuleDescription : Hybrid runbook worker must be in running state.
CheckResult : Passed
CheckResultMessage : Hybrid runbook worker is running.
CheckResultMessageId : SystemHybridRunbookWorkerRunningCheck.Passed
CheckResultMessageArguments : {}
RuleId : LinkedWorkspaceCheck
RuleGroupId : servicehealth
RuleName : VM's Linked Workspace
RuleGroupName : VM Service Health Checks
RuleDescription : Get linked workspace info of the VM
CheckResult : Failed
CheckResultMessage : VM is not reporting to any workspace.
CheckResultMessageId : LinkedWorkspaceCheck.Failed.NoWorkspace
CheckResultMessageArguments : {}
RuleId : CryptoRsaMachineKeysFolderAccessCheck
RuleGroupId : permissions
RuleName : Crypto RSA MachineKeys Folder Access
RuleGroupName : Access Permission Checks
RuleDescription : SYSTEM account must have WRITE and MODIFY access to 'C:\\ProgramData\\Microsoft\\Crypto\\RSA\\MachineKeys'
CheckResult : Passed
CheckResultMessage : Have permissions to access C:\\ProgramData\\Microsoft\\Crypto\\RSA\\MachineKeys
CheckResultMessageId : CryptoRsaMachineKeysFolderAccessCheck.Passed
CheckResultMessageArguments : {C:\\ProgramData\\Microsoft\\Crypto\\RSA\\MachineKeys}
RuleId : TlsVersionCheck
RuleGroupId : prerequisites
RuleName : TLS 1.2
RuleGroupName : Prerequisite Checks
RuleDescription : Client and Server connections must support TLS 1.2
CheckResult : Passed
CheckResultMessage : TLS 1.2 is enabled by default on the Operating System.
CheckResultMessageId : TlsVersionCheck.Passed.EnabledByDefault
CheckResultMessageArguments : {}
RuleId : AlwaysAutoRebootCheck
RuleGroupId : machineSettings
RuleName : AutoReboot
RuleGroupName : Machine Override Checks
RuleDescription : Automatic reboot should not be enable as it forces a reboot irrespective of update configuration
CheckResult : Passed
CheckResultMessage : Windows Update reboot registry keys are not set to automatically reboot
CheckResultMessageId : AlwaysAutoRebootCheck.Passed
CheckResultMessageArguments :
RuleId : WSUSServerConfigured
RuleGroupId : machineSettings
RuleName : isWSUSServerConfigured
RuleGroupName : Machine Override Checks
RuleDescription : Increase awareness on WSUS configured on the server
CheckResult : Passed
CheckResultMessage : Windows Updates are downloading from the default Windows Update location. Ensure the server has access to the Windows Update service
CheckResultMessageId : WSUSServerConfigured.Passed
CheckResultMessageArguments :
RuleId : AutomaticUpdateCheck
RuleGroupId : machineSettings
RuleName : AutoUpdate
RuleGroupName : Machine Override Checks
RuleDescription : AutoUpdate should not be enabled on the machine
CheckResult : Passed
CheckResultMessage : Windows Update is not set to automatically install updates as they become available
CheckResultMessageId : AutomaticUpdateCheck.Passed
CheckResultMessageArguments :
RuleId : HttpsConnection
RuleGroupId : connectivity
RuleName : Https connection
RuleGroupName : connectivity
RuleDescription : Check if VM is able to make https requests.
CheckResult : Passed
CheckResultMessage : VM is able to make https requests.
CheckResultMessageId : HttpsConnection.Passed
CheckResultMessageArguments : {}
RuleId : ProxySettings
RuleGroupId : connectivity
RuleName : Proxy settings
RuleGroupName : connectivity
RuleDescription : Check if Proxy is enabled on the VM.
CheckResult : Passed
CheckResultMessage : Proxy is not set.
CheckResultMessageId : ProxySettings.Passed
CheckResultMessageArguments : {}
RuleId : IMDSConnectivity
RuleGroupId : connectivity
RuleName : IMDS endpoint connectivity
RuleGroupName : connectivity
RuleDescription : Check if VM is able to reach IMDS server to get VM information.
CheckResult : PassedWithWarning
CheckResultMessage : VM is not able to reach IMDS server. Consider this as a Failure if this is an Azure VM.
CheckResultMessageId : IMDSConnectivity.PassedWithWarning
CheckResultMessageArguments : {}
RuleId : WUServiceRunningCheck
RuleGroupId : servicehealth
RuleName : WU service status
RuleGroupName : WU Service Health Check
RuleDescription : WU must not be in the disabled state.
CheckResult : Passed
CheckResultMessage : Windows Update service (wuauserv) is running.
CheckResultMessageId : WUServiceRunningCheck.Passed
CheckResultMessageArguments : {Windows Update, wuauserv}
RuleId : LAOdsEndpointConnectivity
RuleGroupId : connectivity
RuleName : LA ODS endpoint
RuleGroupName : connectivity
RuleDescription : Proxy and firewall configuration must allow to communicate with LA ODS endpoint
CheckResult : Failed
CheckResultMessage : Unable to find Workspace registration information
CheckResultMessageId : LAOdsEndpointConnectivity.Failed
CheckResultMessageArguments :
RuleId : LAOmsEndpointConnectivity
RuleGroupId : connectivity
RuleName : LA OMS endpoint
RuleGroupName : connectivity
RuleDescription : Proxy and firewall configuration must allow to communicate with LA OMS endpoint
CheckResult : Failed
CheckResultMessage : Unable to find Workspace registration information
CheckResultMessageId : LAOmsEndpointConnectivity.Failed
CheckResultMessageArguments :