Hello to all,
I did a quick search for this topic on previous post but had no luck. I hope someone has successfully run into this problem and solved it or maybe knows of a site that has some answers.
We run a Novell shop so we have only standalone Windows servers no PDC no active directory. Windows servers are solely used for IIS and SQL, in general people do not connect directly to these servers.
I have built a win2k server fully patched and installed Software Update Services (SUS10SP1.exe) on it which basically installed the service at http://x.x.x.x/autou.../en/default.asp
The server setup is just fine. It downloads the windows updates automatically and stores them locally then I can select which updates are approved so that our workstations can automatically install them. The server acts fine, it does everything it is expected to.
My problem (and it seems to be a common one) is that we were using the windows update module after installing SP4 to go to windowsupdate.microsoft.com.
And I've tried to change that by adjusting local policy and also changing the registry.
I've tried regedit to force where the systems get there updates using a registry edit.
reg file ==========================================
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"RescheduleWaitTime"=dword:00000004
"NoAutoRebootWithLoggedOnUsers"=dword:00000001
"NoAutoUpdate"=dword:00000000
"AUOptions"=dword:00000004
"ScheduledInstallDay"=dword:00000000
"ScheduledInstallTime"=dword:00000012
"UseWUServer"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"WUServer"="http://x.x.x.x/"
"WUStatusServer"="http://x.x.x.x/"
reg file =======================================
I have also went to www.susserver.com and followed several pieces of advice with no real success.
Well that was long winded and almost said nothing, but please reply if you are interested and I will elaborate on anything I can.
Thanks
Carlos
Page 1 of 1
Software Update Services aka SUS Deploy Microsoft Software Update Service
#2
Posted 30 March 2004 - 01:15 PM
Here's what I use to set up mine:
Windows 2k sp1 or 2, and XP without SP need the automatic update service installed first, 2k sp3+ and XP sp1 do not.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate] "WUServer"="http://updateservice.mycompany.com" "WUStatusServer"="http://updateservice.mycompany.com" [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU] "AUOptions"=dword:00000004 "NoAutoUpdate"=dword:00000000 "RescheduleWaitTime"=dword:00000001 "ScheduledInstallDay"=dword:00000000 "ScheduledInstallTime"=dword:00000001 "UseWUServer"=dword:00000001
Windows 2k sp1 or 2, and XP without SP need the automatic update service installed first, 2k sp3+ and XP sp1 do not.
#3
Posted 31 March 2004 - 01:32 PM
ICemannd
Thanks
Actually, we have pretty much the same reg edit except our times are different.
I did notice I entered this incorrectly
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"WUServer"="http://x.x.x.x/"
"WUStatusServer"="http://x.x.x.x/"
I should not have had the last slashes in "="http://x.x.x.x/"
Anyway I now have installed this and have tested against a vb script that tells me my setting are correct except austate still comes in as "detect pending"
Back do the drawing board
Thanks
name AUBehave.vbs
Thanks
Actually, we have pretty much the same reg edit except our times are different.
I did notice I entered this incorrectly
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"WUServer"="http://x.x.x.x/"
"WUStatusServer"="http://x.x.x.x/"
I should not have had the last slashes in "="http://x.x.x.x/"
Anyway I now have installed this and have tested against a vb script that tells me my setting are correct except austate still comes in as "detect pending"
Back do the drawing board
Thanks
name AUBehave.vbs
'------------------
' 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
Share this topic:
Page 1 of 1



Help
Back to top









