MSFN Forum: Software Update Services aka SUS - MSFN Forum

Jump to content



Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Software Update Services aka SUS Deploy Microsoft Software Update Service Rate Topic: -----

#1 User is offline   Raidenwolf 

  • Group: Members
  • Posts: 2
  • Joined: 30-March 04

Posted 30 March 2004 - 11:50 AM

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


#2 User is offline   IcemanND 

  • MSFN Junkie
  • Group: Super Moderator
  • Posts: 3,239
  • Joined: 24-September 03
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 30 March 2004 - 01:15 PM

Here's what I use to set up mine:
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 User is offline   Raidenwolf 

  • Group: Members
  • Posts: 2
  • Joined: 30-March 04

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

'------------------
' 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
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2011 msfn.org
Privacy Policy