[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 916
  • Last Modified:

WSUS server is not updating itself

My WSUS has been setup for over a year, and has been working great with other W2K and W2K03 servers as well as all W2K and XP workstations.  Bad me, just discovered that the actual WSUS server is not updating itself, but keeps trying to go to microsoft for the updates according to the log file.  I have my WSUS configured to connect to one of our Headquarters servers for the updates and the sync has been working flawlessly.  So I really never go to MS for updates, the HQ server does.

I have looked in the registry and in all configuration files that I can see and everything looks okay.

I am clueless at this point as to why it is not updating itself.

Any help appreciated.
0
clpease
Asked:
clpease
  • 10
  • 7
1 Solution
 
MazaraatCommented:
-Are you adding servers to wsus by GPO?  Check to make sure it is getting the GPO (gpresult)
-make sure the server is in the OU that has the wsus GPO linked
-Run gpupdate /force at the cmd line
-
0
 
clpeaseAuthor Commented:
No, I have used a reg update for the server but the workstations are using a GPO.
0
 
MazaraatCommented:
can you - put the server in an OU that is seperate from the workstations and link a new GPO for it?  I have my servers and desktops seperated so I can apply different wsus gpo's to them....don't want my servers restarting in the middle of the day =)
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
clpeaseAuthor Commented:
Below is the reg update that I pushed, of course I changed my servername to reflect the actual server name.

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"WUServer"="http://servername"
"WUStatusServer"="http://servername"

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAutoRebootWithLoggedOnUsers"=dword:00000001
"NoAutoUpdate"=dword:00000000
"AUOptions"=dword:00000004
"ScheduledInstallDay"=dword:00000000
"ScheduledInstallTime"=dword:00000003
"UseWUServer"=dword:00000001
"RescheduleWaitTime"=dword:00000009
0
 
clpeaseAuthor Commented:
Been wanting to do that but haven't gotten around to request it.  Have to go through a lot of steps to get it approved and have the powers at be create the second policy for servers.  I am part of a hugh organization so I don't have admin rights to create my own gpo's.

But in the mean time it should work with a gpo.
0
 
MazaraatCommented:
If you don't want to create a GPO, try changing the regkey for WUServer/WUstatusserver to read = "http://localhost:8530"
0
 
clpeaseAuthor Commented:
I mean it should work without a gpo.
0
 
clpeaseAuthor Commented:
Okay I will try that.
0
 
clpeaseAuthor Commented:
I get this now

2006-04-26      14:29:25       912      b5c      AU      Triggering AU detection through DetectNow API
2006-04-26      14:29:25       912      768      AU      #############
2006-04-26      14:29:25       912      768      AU      ## START ##  AU: Search for updates
2006-04-26      14:29:25       912      768      AU      #########
2006-04-26      14:29:25       912      768      AU      <<## SUBMITTED ## AU: Search for updates [CallId = {8B42DB5C-48F2-4D1B-A57B-A3BB7217A7E2}]
2006-04-26      14:29:25       912      458      Agent      *************
2006-04-26      14:29:25       912      458      Agent      ** START **  Agent: Finding updates [CallerId = AutomaticUpdates]
2006-04-26      14:29:25       912      458      Agent      *********
2006-04-26      14:29:36       912      458      Misc      WARNING: Send failed with hr = 80072efd.
2006-04-26      14:29:36       912      458      Misc      WARNING: SendRequest failed with hr = 80072efd. Proxy List used: <(null)> Bypass List used : <(null)> Auth Schemes used : <>
2006-04-26      14:29:36       912      458      Misc      WARNING: WinHttp: SendRequestUsingProxy failed for <http://servername:8530/selfupdate/wuident.cab>. error 0x80072efd
2006-04-26      14:29:36       912      458      Misc      WARNING: WinHttp: SendRequestToServerForFileInformation MakeRequest failed. error 0x80072efd
2006-04-26      14:29:36       912      458      Misc      WARNING: WinHttp: SendRequestToServerForFileInformation failed with 0x80072efd
2006-04-26      14:29:36       912      458      Misc      WARNING: WinHttp: ShouldFileBeDownloaded failed with 0x80072efd
0
 
MazaraatCommented:
ok, use http://wsus_server_ip:8530

download AUBehave.vbs and post the output:
http://www.chs.fsu.edu/webtools/sus/files/
0
 
clpeaseAuthor Commented:
Hey you work at FSU and live in Tally?  I use to for 19 years.


'------------------
' AUBehave.vbs   ver 2.8  17-Nov-2003
' Check Automatic Update settings
' http://www.susserver.com/
'------------------
On Error Resume Next

Set objWshNet = CreateObject("Wscript.Network")

const HKCU = &H80000001
const HKLM = &H80000002

strDefComputer = lcase(objWshNet.ComputerName)

Set oArgs = WScript.Arguments
If oArgs.Count = 0 Then
 strComputer = InputBox("Enter the Name or IP Address for a computer to check its Automatic Update settings", "AUBehave - Read Auto Update settings", strDefComputer)
Else
 strComputer = oArgs(0)
End If

If strComputer = "" Then
 WScript.Quit
End if

strComputer = lcase(strComputer)
if left(strComputer,2)="\\" then
 strComputer=right(strComputer,(len(strComputer)-2))
end if

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")

If Err.Number <> 0 Then
 msgbox "Connection Error to computer:" & VBCRLF & VBCRLF & "     " & strComputer & VBCRLF, vbCritical, "Connection Error"
 WScript.Quit
End If

Resultmsg = "Automatic Update Settings                  " & VBCRLF & VBCRLF

strMsg = "No Auto Update:  "
strKeyPath = "Software\Policies\Microsoft\Windows\WindowsUpdate\AU"
strValueName = "NoAutoUpdate"
If RegValueExists(strKeyPath, strValueName) Then
 oReg.GetDWORDValue HKLM,strKeyPath,strValueName,dwValue
 Resultmsg = Resultmsg & strMsg & GetNoAutoUpdate(dwValue) & VBCRLF & VBCRLF
Else
 Resultmsg = Resultmsg & strMsg & "Setting Not Configured in Policy" & VBCRLF & VBCRLF
End If

strMsg = "Use SUS Server:  "
strKeyPath = "Software\Policies\Microsoft\Windows\WindowsUpdate\AU"
strValueName = "UseWUServer"
If RegValueExists(strKeyPath, strValueName) Then
 oReg.GetDWORDValue HKLM,strKeyPath,strValueName,dwValue
 Resultmsg = Resultmsg & strMsg & GetUseWUServer(dwValue) & VBCRLF

 If dwValue = "1" Then
  strMsg = "  - SUS Server:  "
  strKeyPath = "Software\Policies\Microsoft\Windows\WindowsUpdate"
  strValueName = "WUServer"
  If RegValueExists(strKeyPath, strValueName) Then
   oReg.GetStringValue HKLM,strKeyPath,strValueName,strValue
   Resultmsg = Resultmsg & strMsg & strValue & VBCRLF
  Else
   Resultmsg = Resultmsg & strMsg & "Setting Not Configured in Policy" & VBCRLF
  End If
 
  strMsg = "  - SUS Status Server:  "
  strKeyPath = "Software\Policies\Microsoft\Windows\WindowsUpdate"
  strValueName = "WUStatusServer"
  If RegValueExists(strKeyPath, strValueName) Then
   oReg.GetStringValue HKLM,strKeyPath,strValueName,strValue
   Resultmsg = Resultmsg & strMsg & strValue & VBCRLF & VBCRLF
  Else
   Resultmsg = Resultmsg & strMsg & "Setting Not Configured in Policy" & VBCRLF & VBCRLF
  End If
 Else
  Resultmsg = Resultmsg & VBCRLF
 End If
Else
 Resultmsg = Resultmsg & strMsg & "Setting Not Configured in Policy" & VBCRLF
 Resultmsg = Resultmsg & "  - Client will download updates from windowsupdate.microsoft.com" & VBCRLF & VBCRLF
End If

strMsg = "AU Options:  "
strKeyPath = "Software\Policies\Microsoft\Windows\WindowsUpdate\AU"
strValueName = "AUOptions"
If RegValueExists(strKeyPath, strValueName) Then
 oReg.GetDWORDValue HKLM,strKeyPath,strValueName,dwValue
 Resultmsg = Resultmsg & strMsg & GetAUOptions(dwValue) & VBCRLF

 If dwValue = "4" Then
  strMsg = "  - Scheduled Install Day:  "
  strKeyPath = "Software\Policies\Microsoft\Windows\WindowsUpdate\AU"
  strValueName = "ScheduledInstallDay"
  If RegValueExists(strKeyPath, strValueName) Then
   oReg.GetDWORDValue HKLM,strKeyPath,strValueName,dwValue
   Resultmsg = Resultmsg & strMsg & getday(dwValue) & VBCRLF
  Else
   Resultmsg = Resultmsg & strMsg & "Setting Not Configured in Policy" & VBCRLF
  End If
 
  strMsg = "  - Scheduled Install Time:  "
  strKeyPath = "Software\Policies\Microsoft\Windows\WindowsUpdate\AU"
  strValueName = "ScheduledInstallTime"
  If RegValueExists(strKeyPath, strValueName) Then
   oReg.GetDWORDValue HKLM,strKeyPath,strValueName,dwValue
   Resultmsg = Resultmsg & strMsg & dwValue &":00" & VBCRLF & VBCRLF
  Else
   Resultmsg = Resultmsg & strMsg & "Setting Not Configured in Policy" & VBCRLF
  End If
 Else
   Resultmsg = Resultmsg & VBCRLF
 End If

Else
 Resultmsg = Resultmsg & strMsg & "Setting Not Configured in Policy" & VBCRLF
 strMsg = "  - User controlled setting:  "
 strKeyPath = "Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update"
 strValueName = "AUOptions"
 If RegValueExists(strKeyPath, strValueName) Then
  oReg.GetDWORDValue HKLM,strKeyPath,strValueName,dwValue
  Resultmsg = Resultmsg & strMsg & GetAUOptions(dwValue) & VBCRLF

  If dwValue = "4" Then
   strMsg = "    - Scheduled Install Day:  "
   strKeyPath = "Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update"
   strValueName = "ScheduledInstallDay"
   If RegValueExists(strKeyPath, strValueName) Then
    oReg.GetDWORDValue HKLM,strKeyPath,strValueName,dwValue
    Resultmsg = Resultmsg & strMsg & getday(dwValue) & VBCRLF
   Else
    Resultmsg = Resultmsg & strMsg & "Setting Not Configured" & VBCRLF
   End If
 
   strMsg = "    - Scheduled Install Time:  "
   strKeyPath = "Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update"
   strValueName = "ScheduledInstallTime"
   If RegValueExists(strKeyPath, strValueName) Then
    oReg.GetDWORDValue HKLM,strKeyPath,strValueName,dwValue
    Resultmsg = Resultmsg & strMsg & dwValue &":00" & VBCRLF & VBCRLF
   Else
    Resultmsg = Resultmsg & strMsg & "Setting Not Configured" & VBCRLF & VBCRLF
   End If
  Else
    Resultmsg = Resultmsg & VBCRLF
  End If

 Else
  Resultmsg = Resultmsg & strMsg & "Setting Not present" & VBCRLF & VBCRLF
 End If
End If

strMsg = "No Auto Reboot with Logged on Users:  "
strKeyPath = "Software\Policies\Microsoft\Windows\WindowsUpdate\AU"
strValueName = "NoAutoRebootWithLoggedOnUsers"
If RegValueExists(strKeyPath, strValueName) Then
 oReg.GetDWORDValue HKLM,strKeyPath,strValueName,dwValue
 Resultmsg = Resultmsg & strMsg & GetNoAutoReboot(dwValue) & VBCRLF & VBCRLF
Else
 Resultmsg = Resultmsg & strMsg & "Setting Not Configured in Policy" & VBCRLF
 Resultmsg = Resultmsg & "  - Default action: Users will be given a 5 minute countdown" & VBCRLF & VBCRLF
End If

strMsg = "Reschedule Wait Time:  "
strKeyPath = "Software\Policies\Microsoft\Windows\WindowsUpdate\AU"
strValueName = "RescheduleWaitTime"
If RegValueExists(strKeyPath, strValueName) Then
 oReg.GetDWORDValue HKLM,strKeyPath,strValueName,dwValue
 If dwValue = "0" Then Resultmsg = Resultmsg & strMsg & "Disabled by setting value: " & dwValue & VBCRLF & VBCRLF End If
 If dwValue = "1" Then Resultmsg = Resultmsg & strMsg & dwValue &" minute" & VBCRLF & "  - Any missed scheduled installation will occur after startup" & VBCRLF & VBCRLF End If
 If dwValue > "1" and dwValue < "61" Then Resultmsg = Resultmsg & strMsg & dwValue &" minutes" & VBCRLF & "  - Any missed scheduled installation will occur after startup" & VBCRLF & VBCRLF End If
 If dwValue > "60" Then Resultmsg = Resultmsg & strMsg & "Invalid setting" & VBCRLF & "  - Value is outside of expected range for this setting: " & dwValue & VBCRLF & VBCRLF End If
Else
 Resultmsg = Resultmsg & strMsg & "Setting Not Configured in Policy" & VBCRLF
 Resultmsg = Resultmsg & "  - Any missed scheduled installations will be rescheduled to a later time" & VBCRLF & VBCRLF
End If

strMsg = "AU State:  "
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update"
strValueName = "AUState"
If RegValueExists(strKeyPath, strValueName) Then
 oReg.GetDWORDValue HKLM,strKeyPath,strValueName,dwValue
 Resultmsg = Resultmsg & strMsg & GetAUState(dwValue) & VBCRLF & VBCRLF
Else
 Resultmsg = Resultmsg & strMsg & "Setting Not present" & VBCRLF & VBCRLF
End If

Resultmsg = Resultmsg & "AUBehave utility is under development, check back for updates and report errors.  Thankyou." & VBCRLF & "http://www.SUSserver.com/ ~ Take control of your Windows Updates"


MsgBox Resultmsg,,strComputer

set oReg = nothing


Function GetNoAutoUpdate(Index)
 Select Case Index
  Case 0 GetNoAutoUpdate = "0 - Auto Updates are Enabled by Policy"
  Case 1 GetNoAutoUpdate = "1 - Auto Updates are Disabled by Policy"
  Case Else GetNoAutoUpdate = "Error in this value"
 End select
End Function

Function GetUseWUServer(Index)
 Select Case Index
  Case 0 GetUseWUServer = "0 - Client will download updates from windowsupdate.microsoft.com"
  Case 1 GetUseWUServer = "1 - Client will connect to your SUS Server"
  Case Else GetUseWUServer = "Error in this value"
 End select
End Function

Function GetDay(Index)
 Select Case Index
  Case "0" GetDay = "Every Day"
  Case "1" GetDay = "Every Sunday"
  Case "2" GetDay = "Every Monday"
  Case "3" GetDay = "Every Tuesday"
  Case "4" GetDay = "Every Wednesday"
  Case "5" GetDay = "Every Thursday"
  Case "6" GetDay = "Every Friday"
  Case "7" GetDay = "Every Saturday"
  Case Else GetDay = "Error in this value"
 End select
End Function

Function GetAUOptions(Index)
 Select Case Index
  Case "0" GetAUOptions = "0"
  Case "1" GetAUOptions = "1 - Disabled in User Settings"
  Case "2" GetAUOptions = "2 - Notify Admin-priv user of a pending update waiting to be downloaded. User will initate the download."
  Case "3" GetAUOptions = "3 - Automatically downloads updates and notify Admin-priv user of pending installation."
  Case "4" GetAUOptions = "4 - Automatically downloads updates. Installation will occur on the scheduled day & time."
  case Else GetAUOptions = "Error in this value"
 End select
End Function

Function GetNoAutoReboot(Index)
 Select Case Index
  Case "0" GetNoAutoReboot = "Disabled - Users will be given a 5 minute countdown"
  Case "1" GetNoAutoReboot = "Enabled - Users will be prompted before restart"
  case Else GetNoAutoReboot = "Error in this value"
 End select
End Function

Function GetAUState(Index)
 Select Case Index
  Case "0" GetAUState = "0 - Initial 24 hour timeout (AU Wizard will wait)"
  Case "1" GetAUState = "1 - Waiting for user to run AU wizard from System Tray"
  Case "2" GetAUState = "2 - Detect pending"
  Case "3" GetAUState = "3 - Download pending (waiting for user to accept pre-download prompt)"
  Case "4" GetAUState = "4 - Download in progress"
  Case "5" GetAUState = "5 - Install pending"
  Case "6" GetAUState = "6 - Install complete"
  Case "7" GetAUState = "7 - Disabled"
  Case "8" GetAUState = "8 - Reboot pending (Reboot was declined)"
  Case Else GetAUState = "Error in this value"
 End select
End Function

Function RegValueExists(sRegKey, sRegValue)
  sRegKey = Trim(sRegKey)
  sRegValue = LCase(Trim(sRegValue))
  ' init value
  RegValueExists = False
  If oReg.EnumValues(HKLM, sRegKey, aValueNames, aValueTypes) = 0 Then
    If Not IsNull(aValueNames) Then
      For i = 0 To UBound(aValueNames)
        If LCase(aValueNames(i)) = sRegValue Then
          RegValueExists = True
        End If
      Next
    End If
  End If
End Function

Function RegKeyExists(sRegKey)
  sRegKey = Trim(sRegKey)
  If oReg.EnumValues(HKLM, sRegKey, aValueNames, aValueTypes) = 0 Then
    RegKeyExists = True
  Else
    RegKeyExists = False
  End If
End Function
0
 
clpeaseAuthor Commented:
LOL....oh wow end of day...pasted wrong file....I will paste the other
0
 
clpeaseAuthor Commented:
Can't paste the window but here is what is says

No Auto Update 0 - Auto Updates are Enabled by Policy
Use SUS Server 1- Client will connect to your SUS Server
-SUS Server : http://servername:8530
-SUS Status Server: http://servername:8530

and yes I did try with the IP:8530 and no difference

AU Options 4
Scheduled Install Day: Every Day
Scheduled Install Time: 3:00

No Auto Reboot with Logged on Users: Enabled

Rescheduled Wait Time: invalid setting
Value is outside of expected range for this setting: 9

AU State: Setting Not Present
0
 
MazaraatCommented:
Actually I've never been there =)  Just found that file very usefull when troubleshooting sus and wsus errors.

**********************
1.  By chance do you know if the wsus is configured to use a different port?(?80?)
**********************
Here is the reg settings from one of my 2k3 wsus servers to compare against:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate\AU]
"AutoInstallMinorUpdates"=dword:00000001
"NoAutoUpdate"=dword:00000000
"AUOptions"=dword:00000004
"ScheduledInstallDay"=dword:00000001
"ScheduledInstallTime"=dword:00000014
"NoAUShutdownOption"=dword:00000000
"NoAutoRebootWithLoggedOnUsers"=dword:00000001
"UseWUServer"=dword:00000001
"DetectionFrequencyEnabled"=dword:00000001
"DetectionFrequency"=dword:00000016

The server is configured to download updates, installing minor patches when received and installing major stuff at 8pm on sunday.  
***************
2.  In the wsus->options page do you have a proxy configured?
***************

3.  One thing I notice that is different is the scheduled install day, your is set at 0...though I believe its not liking the proxy settings....
0
 
MazaraatCommented:
Another thought, can you create a GPO with the local security policies?  You might be able to fix the problem by creating a local policy for your server....
*****

 If so here is an example GPO from one of my WSUS servers:

Windows Components/Windows Updatehide
Policy Setting
Allow Automatic Updates immediate installation Enabled
Automatic Updates detection frequency Enabled
Check for updates at the following
interval (hours):  22
 
Policy Setting
Configure Automatic Updates Enabled
Configure automatic updating: 4 - Auto download and schedule the install
The following settings are only required
and applicable if 4 is selected.
Scheduled install day:  1 - Every Sunday
Scheduled install time: 20:00
 
Policy Setting
Do not display 'Install Updates and Shut Down' option in Shut Down Windows dialog box Disabled
No auto-restart for scheduled Automatic Updates installations Enabled
Specify intranet Microsoft update service location Enabled
Set the intranet update service for detecting updates: http://server:8530 
Set the intranet statistics server: http://server:8530 

 
0
 
clpeaseAuthor Commented:
Well here is how I solved it.  I did use some of your additional reg keys and I removed the :8530 from the 2 reg entries.  I then found a proxycfg.exe file that deals with winhttp and has nothing to do with IE proxy or the WSUS proxy setup.  I configured it to use itself with the full domain name of server.  It is now updating.

Thanks for your help and I will probably do a GPO just for servers to be on the safe side in the future.
0
 
MazaraatCommented:
Glad to be of help =)
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 10
  • 7
Tackle projects and never again get stuck behind a technical roadblock.
Join Now