排查 Windows 更新代理问题

在进行更新管理部署时计算机未显示为已就绪(正常),这可能有多种原因。 你可以检查 Windows 混合 Runbook 辅助角色代理的运行状况,以确定潜在问题。 以下是计算机的三种就绪状态:

  • 就绪:已部署混合 Runbook 辅助角色,并且上次访问它的时间距当前时间不到一小时。
  • 已断开连接:已部署混合 Runbook 辅助角色,并且上次访问它的时间距当前时间超过一小时。
  • 未配置:混合 Runbook 辅助角色找不到或尚未完成部署。

注意

Azure 门户显示的内容和计算机的当前状态之间可能会有些微延迟。

本文介绍如何从 Azure 门户为 Azure 计算机运行故障排除,以及如何为离线场景下的非 Azure 计算机运行故障排除。

注意

故障排除脚本现在包含对 Windows Server Update Services (WSUS) 以及对自动下载和安装密钥的检查。

启动“故障排除”

对于 Azure 计算机,通过选中门户中“更新代理准备”列下的“故障排除”链接,可以启动“排除更新代理故障”页。 对于非 Azure 计算机,该链接会转到本文。 若要对非 Azure 计算机进行故障排除,请参阅脱机进行故障排除

Screenshot of the Update Management list of virtual machines.

注意

若要查看混合 Runbook 辅助角色的运行状况,VM 必须处于运行状态。 如果 VM 没有运行,屏幕上会显示“启动 VM”按钮。

在“排除更新代理故障”页上选择“运行检查”,启动故障排除。 故障排除使用运行命令在计算机上运行脚本以验证依赖项。 完成故障排除时,它会返回检查的结果。

Screenshot of the Troubleshoot Update Agent page.

结果准备就绪后会显示在该页上。 检查部分显示每个检查中包含的内容。

Screenshot of Windows Troubleshooter.

先决条件检查

操作系统

操作系统检查将验证混合 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 :  

后续步骤

排查混合 Runbook 辅助角色问题