当前位置: 首页 > 编程日记 > 正文

WSUS Troubleshooting guide

Troubleshooting guide for issues where WSUS clients are not reporting in clip_image001[12]clip_image002[12]clip_image001[13]clip_image002[13]clip_image001[14]clip_image002[14]clip_image001[15]clip_image002[15]clip_image001[16]clip_image002[16]
clip_image004[4]来自于WSUS TEAM BLOG
This guide is written to assist specifically in troubleshooting WSUS when clients are not reporting in. We will examine common troubleshooting considerations that needs to be looked at on the WSUS server only, not on the WSUS client.
GPO considerations:
The first consideration is to see if the WSUS GPO has been configured and linked to the proper OU in Active Directory. Frequently I will see how the GPO might not be linked or configured. Often the WSUS server name might be incorrect or WSUS server name are configured with the incorrect port number in the WSUS GPO.
In GPO Management (or Active Directory Users and Computers), make sure the WSUS GPO is created and linked to the OU that contains the machines that is suppose to get the GPO settings for WSUS. Open up the GPU to:
Computer Configuration > Administrive Templates > Windows Components > Windows Update
As a minimum we have to enable 2 settings:
  • "Configure Automatic Updates"
  • "Specify intranet Microsoft update service location"
For the latter setting, often the server name is incorrect or the port number is not included. Confirm the port number in IIS and ensure it is included if it is not port 80. Example: "http://update.server.com:8530" . Remember to set the "update server" and the "statistics server" location.
The above is the minimum needed in any GPO for WSUS to function.
Permissions:
We have 2 types of permissions to be concerned about: NTFS permissions on the WSUS Server as well as IIS permissions and security. Sometimes if these permissions are not correct it prevents the WSUS webservices in IIS from functioning correctly and thus WSUS clients can not report in.
HTTP 401.3: DENIED BY RESOURCE ACL:
Frequently if your WSUS client (Automatic Update Agent) is healthy and your GPO is offering the correct WSUS server and port information and you still do find that WSUS client are not reporting into the WSUS console, then permissions on the WSUS server are most likely the problem.
It is not always NTFS security that is the problem, but could be IIS permissions. If you are outright getting a 401.3 error you know to focus on NTFS permissions. But, I recommend to always run Process Monitor when you start troubleshooting WSUS to make sure WSUS has all the permissions it needs on the file system and in the registry.
On the WSUS server, download Process Monitor from [url]http://technet.microsoft.com/en-us/sysinternals/default.aspx[/url]. Follow the following steps:
1) Go to [url]http://technet.microsoft.com/en-us/sysinternals/default.aspx[/url]
2) Look on the right-hand side and download "Process Monitor" (AKA: PocMon)
3) Extract it on the WSUS server and run "procmon.exe"
4) Click on "Filter" >>"Filter"
5) Set "Display Entries Matching These Conditions" to:
- RESULT - CONTAINS - DENIED (you have to type in the word DENIED) then INCLUDE
6) Click "Add"
7) ALSO Set "Display Entries Matching These Conditions" to:
- PATH - CONTAINS - CERTIFICATE (you have to type in the word CERTIFICATE) then EXCLUDE
8) Click "Add", "Apply" then OK
9) Stop and Start the "World Wide Web Publishing" Service
- Wait 30 seconds
10) Stop and Start the "Update Services" Service
- Wait 30 seconds
11) Go back to ProcMon
This filter will show all processes that issues an ACCESS DENIED event. For the most part your concern is to look at both W3WP.EXE (which is IIS) as well as both WSUSSERVICE.EXE and SQLSERVR.EXE.
Notice any ACCESS DENIED events and see if they were denied to a registry key or a file on the file system for the 3 above mentioned services. If you find any ACCESS DIENIED for any of the above processes denying the user account "Network Service" access, that registry key or file would need permissions set to allow the "Network Service" to have FULL CONTROL to the respective Registry Key or File. Give the permissions accordingly and keep track of the changes you make. Once you have assigned a permission, close ProcMon, run it again and see if the permission error comes up. By doing this you will make sure WSUS has all the NTFS permissions it needs to function.
** ALWAYS BACKUP YOUR REGISTRY BEFORE MAKING ANY CHANGES **
NOTE: To close ProcMon.exe properly, click on FILE >> (Uncheck) CAPTURE, then FILE  >> EXIT
Some common files/folders for WSUS that needs to be confirmed that they have FULL CONTROL set for the "Network Service" account are:
  • <%windir%>\Microsoft .NET\Framework\<version>\Temporary ASP.NET Files
  • <%windir%>\Microsoft .NET\Framework\<version>\CONFIG
  • <%windir%>\Temp
  • C:\temp
  • C:\WSUS\WSUSContent
  • C:\Program Files\Update Services\WebServices
Permissions Related - IIS:
In addition to NTFS permissions occasionally being incorrectly set for WSUS, from time-to-time we find IIS permissions being incorrect or out of sync. Ensure that IIS Virtual Directories (vDir's/webservices)) are set as shown below:
clip_image006[4]
After you have confirmed the security and had to make a change to it in IIS, remember to do a IISRESET. If there are other websites on the server in addition to WSUS, do a stop/start of the WSUS website.
Confirming your WSUS server permissions and IIS security is healthy:
Once you have made all the needed security changes to NTFS as well as IIS, re-run ProcMon a few times and ensure no ACCESS DENIED events, it is time to test the health of the WSUS server.
Look in the Application Log to see if you had prior "Windows Update Services" errors. Open a command line and run the following:
CD c:\Program Files\Update Services\Tools
wsusutil checkhealth
This will initiate a WSUS healthcheck and force events to be written to the Application log. If all of the security changes you made earlier rectified the health of WSUS you should see no "Windows Update Services" errors. If the issue you were having were security related, most often prior to start fixing the issues you would have seen the following Event ID's: 12052, 12042, 12022, 12032, 12012 and/or 12002.
Re-run Procmon (with the same 2 filters we added before) and re-start IIS wait 30-seconds then re-start the "Update Services" service. If ProcMon still gives no more ACCESS DENIED events other than the CERTIFICATE events, you would have to look into resetting the IIS IUSR account.
How to identify what HTTP 401.x error you might be experiencing:
When we troubleshoot WSUS clients that are not reporting into the WSUS server we frequently might be experiencing a HTTP 401.x error. There are 2 ways to see which 401 error you might be having 401.1, 401,2, etc. One way is to open one of the URL's below from the WSUS-client and see if you are getting a HTTP 401 error:
  • [url]http://servername/SimpleAuthWebService/SimpleAuth.asmx[/url]
  • [url]http://servername/selfupdate/wuident.cab[/url]
  • [url]http://servername/clientwebservice/susserverversion.xml[/url]
  • [url]http://servername/content/<valid-sub-folder>/<valid-filename.CAB[/url]
The second way is to open the IIS Log on the WSUS server. This file is located in C:\WINDOWS\system32\LogFiles\W3SVC1. Find the log file with the most recent date. In the log file you will see references to the WSUS vDir's: APIRemoting32, Selfupdate, SimpleAuthWebservice, Content, etc. To see if you are Getting 401.x errors you must look at the complete line of the log entry. Here is an example:
2009-01-27 16:45:10 W3SVC310782280 10.10.1.10 HEAD /selfupdate/wuident.cab 0901271645 8530 - 10.10.1.43 Windows-Update-Agent 401 1 0
Above you can see an HTTP 401.1 being generated on the SelfUpdate webservice.
HTTP 401.1: DENIED BY INVALID USER CREDENTIALS:
This error code will have you focus on the credentials of the IUSR account. If you are receiving a 401.1, from a WSUS perspective it means we have to go and look at IIS to make sure the IUSR username and password is correct for Anonymous access on all the WSUS vDir's. Occasionally the IIS guest account (IUSR_ account) has it's password out of sync between the IIS Metabase, Active Directory or SAM (depending if the IUSR account is a local or domain account) and the credentials entered as the Anonymous user and password for the WSUS Virtual Directories in IIS. We need to make sure that the correct user account and credentials are used at 3 places:
  • In Active Directory or Local Account.
  • In the IIS Metabase.
  • In IIS for each of the 9 WebServices under the "WSUS Administration" (or Default) Website.
Ensure that the IUSR account is not locked. Sometimes a 401.1 error could be caused by a locked IUSR account. Then query the IIS Metabase to establish what the existing IUSR password is:
Edit c:\Inetpub\AdminScripts\ADSutil.vbs
Search for the line that reads "IsSecureProperty = True" and change it to "IsSecureProperty = False". Save and close the file.
From command line run:
Cscript adsutil.vbs get w3svc\anonymoususerpass
This will return an output like this:
anonymoususerpass : (STRING) "ThisIsTheIUSRaccountPassword"
Take note of the password, INSIDE of the quotes. The quotes are not part of the password. For safety, copy it into notepad.
Go to either Active Directory (if a domain account is used for the IUSR account) or find the LOCAL ACCOUNT for IUSR. In most cases IUSR will be a local account. Reset the password for your IUSR account with the password we just pulled from the IIS Metabase.
Open IIS Manager and expand the WSUS (or default) website where the WSUS Virtual Directories are located. Right-click on the vDir >>Properties >>Directory Security >>EDIT. Update the IUSR account with the password we pulled from the IUSR Metabase. Do this for each of the below vDir's:
  • ClientWebService
  • Content
  • DSSAuthWebService
  • Inventory
  • ReportingWebService
  • ServerSyncWebService
  • SimpleAuthWebService
  • SelfUpdate
If WSUS is the only website on this server, do a IISRESET. If it is not, just stop/start the WSUS Administration website in IIS.
IMPORTANT: If WSUS is the only website on your server you will be safe to reset the IUSR account. If it is not the only web application running on your server, consider copying the old IUSR account and create a new account called something like IUSR_WSUS and use this account and its password to configure your WSUS vDIR's in IIS.
HTTP 401.2: DENIED BY SERVER CONFIGURATION
If you are getting a 401.2 HTTP error it will steer you in the direction of looking at IIS configuration once again. Most often you will have to review your IIS webservices for WSUS and look at the Authentication Configuration that has been set for them. Make sure they are configured as per the above table named * WSUS website IIS webservices configuration. Look at the properties of a webservice >>Directory Security tab >>EDIT (Authentication and Access Control), and make sure they are set as explained in the above table named: * WSUS website IIS webservices configuration.
For More Information see KB907273 - Troubleshooting HTTP 401 Errors in IIS
Justin Luyt | Senior Support Engineer




 本文转自 rickyfang 51CTO博客,原文链接:http://blog.51cto.com/rickyfang/134618,如需转载请自行联系原作者


相关文章:

在PHP语言中使用JSON

从5.2版本开始&#xff0c;PHP原生提供json_encode()和json_decode()函数&#xff0c;前者用于编码&#xff0c;后者用于解码。 一、json_encode() 该函数主要用来将数组和对象&#xff0c;转换为json格式。先看一个数组转换的例子&#xff1a; $arr array (a>1,b>2,c&g…

【动态规划】最长公共子序列与最长公共子串

1. 问题描述 子串应该比较好理解&#xff0c;至于什么是子序列&#xff0c;这里给出一个例子&#xff1a;有两个母串 cnblogsbelong比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与母串保持一致&#xff0c;我们将其称为公共子序列。最长公共子序列&#xff…

限量!“Java成长笔记”Spring Boot/Sentinel/Nacos高并发

前言本文是为了帮大家快速回顾了Java中知识点&#xff0c;这套面试手册涵盖了诸多Java技术栈的面试题和答案&#xff0c;相信可以帮助大家在最短的时间内用作面试复习&#xff0c;能达到事半功倍效果。本来想将文件上传到github上&#xff0c;但由于文件太大有的都无法显示所以…

时区切换导致quartz定时任务没有触发问题

时区切换对Quartz的cron表达式有影响&#xff0c;切换的1小时内停止触发定时任务&#xff0c;导致sla没有定时清空内存计数&#xff0c;误发限流。 美国夏令时PST切换到冬令时PDT&#xff0c;会有时间跳变。不带时区跳变的&#xff0c;会出现时间重叠或不连续 问题复现 mac本机…

C#之消息队列的简要说明

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Messaging ; using System.Threading ; namespace WinMsmq { /// <summary> /// Form1 的摘要说…

Arm收购进展、元宇宙、GPU涨价……听听黄仁勋怎么说

今年的台北国际电脑展 (Computex) 于 6 月 1-5 日在线上召开&#xff0c;期间 NVIDIA CEO 黄仁勋接受了媒体的线上群访&#xff0c;本文对采访内容进行了翻译与整理。对厨房情有独钟的黄教主&#xff0c;走出了厨房&#xff0c;选择了 NVIDIA 新办公大楼 Voyager&#xff08;旅…

要立刷金组flag了T_T

刷了那么多银组&#xff0c;发现自己好多不会啊... 果然太弱 在这感谢hzwer神犇的blog。。 大部分题解都从黄学长这里来orz。 orz。。。。 果然我太水

Centos7更改root密码

方法一#Step1&#xff1a;重启linux命令&#xff1a;rebootinit 6shutdown -r now#Step2&#xff1a;进grub改启动参数启动界面按“e”ro 改为rw init/sysroot/bin/shCtrlX保存做的更改&#xff0c;这时已经进入操作界面了#Step3&#xff1a;CtrlD然后init 6重启电脑&#xff0…

C#实现Des加密和解密

using System; using System.IO; using System.Security.Cryptography; namespace Vavic { /// <summary> /// Security 的摘要说明。 /// </summary> public class Security { const string KEY_64 "VavicApp"; const string IV_64 "V…

10 行代码玩转 NumPy!

作者 | 天元浪子来源 | Python作业辅导员NumPy也可以画图吗&#xff1f;当然&#xff01;NumPy不仅可以画&#xff0c;还可以画得更好、画得更快&#xff01;比如下面这幅画&#xff0c;只需要10行代码就可以画出来。若能整明白这10行代码&#xff0c;就意味着叩开了NumPy的大门…

秘钥加密码的登录模式

应用场景&#xff1a;有时候我们要给远在北京或者国外的开发人员服务器的权限&#xff0c;为了保证服务器的安全性我们不想让他们知道服务器的root登陆密码&#xff0c;所以我们可以给他们用秘钥加密码的登陆模式。原理&#xff1a;公钥加密 私钥解密。公钥和私钥是成对生成的&…

【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法

目录&#xff1a; 【C#小知识】C#中一些易混淆概念总结--------数据类型存储位置&#xff0c;方法调用&#xff0c;out和ref参数的使用 【C#小知识】C#中一些易混淆概念总结&#xff08;二&#xff09;--------构造函数&#xff0c;this关键字&#xff0c;部分类&#xff0c;枚…

关于C语言中的malloc和free函数的用法

一、malloc()和free()的基本概念以及基本用法&#xff1a; 1、函数原型及说明&#xff1a; void *malloc(long NumBytes)&#xff1a;该函数分配了NumBytes个字节&#xff0c;并返回了指向这块内存的指针。如果分配失败&#xff0c;则返回一个空指针&#xff08;NULL&#xff0…

爱购,你的最爱

这是个基于淘宝的购物软件,天天有特价转载于:https://www.cnblogs.com/ios1/p/3969797.html

「深度学习知识体系总结(2021版)」开放下载了!

随着世界技术的迭代与发展&#xff0c;人工智能和机器学习正在超自动化领域&#xff0c;扮演着越来越重要的角色。2020年的冠状病毒疫情突发&#xff0c;整个世界都在防疫的道路上披荆斩棘。人工智能发挥了重大作用&#xff0c;智能测温、智能消毒、智能建设都能看到AI的影子。…

自定义通知与系统通知的学习(详解)

因为有需求要做非系统通知&#xff0c;所以小马找个时间干脆一起学习了系统默认的通知与自定义通知的实现&#xff0c;吼吼&#xff0c;虽然简单&#xff0c;但开心呀&#xff0c;不多讲&#xff0c;老规矩&#xff0c;先看效果再来看代码&#xff1a; 一&#xff1a;应用刚启动…

Quick Cocos2dx 初步战斗

呵呵&#xff0c;图片先来一发&#xff1a; 最近懒&#xff0c;很懒&#xff0c;连我自己都觉得有点可耻了。 但是实在没有什么东西啊&#xff0c;温水煮青蛙的什么的。 吐槽完成&#xff0c;以上。 目前完成了简单的战斗部分&#xff0c;AI还需要抽出来。 然后突然之间想到手游…

C#简介- 类和对象

类&#xff08;class&#xff09;是C#类型中最基础的类型。类是一个数据结构&#xff0c;将状态&#xff08;字段&#xff09;和行为&#xff08;方法和其他函数成员&#xff09;组合在一个单元中。类提供了用于动态创建类实例的定义&#xff0c;也就是对象&#xff08;object&…

普诺飞思获创新工场新一轮投资,加速神经拟态视觉传感技术商业化

2021年7月6日&#xff0c;中国上海——世界领先的神经拟态视觉解决方案企业普诺飞思&#xff08;Prophesee&#xff09;今日宣布 C轮融资&#xff0c;由创新工场领投、小米及上海韦豪创芯跟投&#xff0c;数家老股东加码。其中&#xff0c;小米是全球三大移动设备供应商之一&am…

YYHS-魏传之长坂逆袭(梦回三国系列T1)

题目描述 众所周知&#xff0c;刘备在长坂坡上与他的一众将领各种开挂&#xff0c;硬生生从曹操手中逃了出去&#xff0c;随后与孙权一起火烧赤壁、占有荆益、成就霸业。而曹操则在赤壁一败后再起不能&#xff0c;终生无力南下。建安二十五年(220年)&#xff0c;曹操已到风烛残…

Linux中/proc目录下文件详解

Linux中/proc目录下文件详解&#xff08;一&#xff09;声明&#xff1a;可以自由转载本文&#xff0c;但请务必保留本文的完整性。作者&#xff1a;张子坚email:zhangzijian163.com说明&#xff1a;本文所涉及示例均在fedora core3下得到。 ---------------------------------…

Swift常量和变量

常量和变量由一个特定名称来表示&#xff0c;如maxNumber 或者 message。常量所指向的是一个特定类型的值&#xff0c; 如数字10或者字符”hello”。变量的值可以根据需要不断修改&#xff0c;而常量的值是不能够被二次修改的。 常量和变量的声明 常量和变量在使用前都需要声明…

Openpose+Tensorflow 这样实现人体姿态估计 | 代码干货

作者 | 李秋键出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;人体姿态估计指从单个 RGB 图像中精确地估计出人体的位置以及检测骨骼关键点的位置。人体姿态估计是计算机视觉领域的研究热点&#xff0c;是诸多计算机视觉任务的基础&#xff0c;如动作分类、异常行为检…

主动防病毒内容篇

为何需要主动防病毒 近年来&#xff0c;对于防病毒软件效用的争论有愈演愈烈之势。我们知道&#xff0c;目前几乎所有的主流防病毒产品都是以分析病毒特征码为基础&#xff0c;通过升级安装在用户端的病毒特征码数据库实现对病毒的辨识。只有发现和确认了病毒之后&#xff0c;才…

icinga服务器系统监控软件的安装

系统环境rhel和Centos都可以安装这里我们所使用的安装包为中文版的icinga-cn-1.9.3.tar.bz2&#xff08;1&#xff09;安装icinga软件所支持的组件包&#xff08;我们这里采用yum源的方式&#xff09;组件&#xff1a;libdbi-dbd-mysql-0.8.3-5.1.el6.x86_64.rpmgd-devel-2.0.3…

size_t与ssize_t

size_t与ssize_t 为了增强程序的可移植性&#xff0c;便有了size_t&#xff0c;它是为了方便系统之间的移植而定义的&#xff0c;不同的系统上&#xff0c;定义size_t可能不一样。 l 在32位系统上定义为unsigned int &#xff0c;也就是说在32位系统上是32位无符号整形…

自动驾驶中实时车道检测和警报

作者 | 小白 来源 | 小白学视觉未来十年&#xff0c;自动驾驶将彻底改变人们的出行方式。目前&#xff0c;自动驾驶应用程序目前正在测试各种案例&#xff0c;包括客车、机器人出租车自、动商业运输卡车、智能叉车以及用于农业的自动拖拉机。自动驾驶需要计算机视觉感知模块来…

OSS.Core基于Dapper封装(表达式解析+Emit)仓储层的构思及实现

最近趁着不忙&#xff0c;在构思一个搭建一个开源的完整项目&#xff0c;至于原因以及整个项目框架后边文章我再说明。既然要起一个完整的项目&#xff0c;那么数据仓储访问就必不可少&#xff0c;这篇文章我主要介绍这个新项目&#xff08;OSS.Core&#xff09;中我对仓储层的…

GNU Make chapter 2 —— Makefile 介绍

Makefile是由一系列的rule规则组成&#xff0c;这些rule都遵循以下形式: target ... : prerequisites ...command...... target&#xff08;目标&#xff09; 一般来说是需要生成的程序&#xff08;模块&#xff09;的名字&#xff0c;也可以是要执行的动作的名字&#xff0c;这…

C#编写的生成缩略图程序

if(fileupload.PostedFile!null) { //addto为要添加的属性&#xff0c;aboutfile为文件说明 string nam fileupload.PostedFile.FileName ; //取得文件名(抱括路径)里最后一个"."的索引 int i nam.LastIndexOf("."); /…