Here is a script I wrote for our environment. Yes I know "your still running NT 4.0". Well I thought this might help some folks out there that are still pushing settings the old fashioned way.
Jason
Code:
;===============================================================================================
;***** Created with KiXscripts Editor | http://KiXscripts.com *****
;***** Last Modified on 7/14/2004 at 8:52:02 AM by SS_Hammond *****
;===============================================================================================
SetConsole("hide")
Break OFF
Global $KeyVal, $SP
$WUServer = "http://SUSSERVER"
$WUStatusServer = "http://SUSSERVER"
$NeedsClient = "YES"
$Temp = "%temp%"
$SusClient = "NO"
If @INWIN = 1
If @PRODUCTTYPE = "Windows 2000 Professional" OR @PRODUCTTYPE = "Windows XP Professional"
Dim $KeyLoc, $KeyNam
$KeyLoc = "HKLM\Software\Microsoft\Windows NT\CurrentVersion"
$SP = ReadValue($KeyLoc, "CSDVersion")
If @PRODUCTTYPE = "Windows 2000 Professional"
Select
Case $SP = "Service Pack 3"
$SusClient = "YES"
Case $SP = "Service Pack 4"
$SusClient = "YES"
; Client does not meet requirements
; needs Service Pack 3 or Higher.
Case $SP = "Service Pack 2"
$SusClient = "NO"
Case $SP = "Service Pack 1"
$SusClient = "NO"
Case 1
$SusClient = "NO"
EndSelect
EndIf
If @PRODUCTTYPE = "Windows XP Professional"
If $SP = "Service Pack 1"
$SusClient = "YES"
EndIf
EndIf
EndIf
EndIf
If $SusClient = "YES"
$KeyLoc = "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"
$RC = KeyExist($KeyLoc)
If $RC = 0
$RC = AddKey($KeyLoc)
EndIf
$KeyLoc = "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
$RC = KeyExist($KeyLoc)
If $RC = 0
$RC = AddKey($KeyLoc)
EndIf
$KeyLoc = "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"
$KeyNam = "WUServer"
$KeyVal = $WUServer
$RegVal = ReadValue($KeyLoc,$KeyNam)
If @ERROR = 0
If NOT $RegVal = $KeyVal
$RC = WriteValue($Keyloc,$KeyNam,$KeyVal,"REG_SZ")
EndIf
Else
$RC = WriteValue($Keyloc,$KeyNam,$KeyVal,"REG_SZ")
EndIf
$KeyNam = "WUStatusServer"
$KeyVal = $WUStatusServer
$RegVal = ReadValue($KeyLoc,$KeyNam)
If @ERROR = 0
If NOT $RegVal = $KeyVal
$RC = WriteValue($Keyloc,$KeyNam,$KeyVal,"REG_SZ")
EndIf
Else
$RC = WriteValue($Keyloc,$KeyNam,$KeyVal,"REG_SZ")
EndIf
$KeyLoc = "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
$KeyNam = "RescheduleWaitTime"
$WriVal = "00000001"
$KeyVal = "1"
$RegVal = ReadValue($KeyLoc,$KeyNam)
If @ERROR = 0
If $RegVal <> $KeyVal
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
Else
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
$KeyNam = "NoAutoRebootWithLoggedOnUsers"
$WriVal = "00000001"
$keyVal = "0"
$RegVal = ReadValue($KeyLoc,$KeyNam)
If @ERROR = 0
If $RegVal <> $KeyVal
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
Else
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
$KeyNam = "NoAutoUpdate"
$WriVal = "00000000"
$KeyVal = "0"
$RegVal = ReadValue($KeyLoc,$KeyNam)
If @ERROR = 0
If $RegVal <> $KeyVal
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
Else
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
$KeyNam = "AUOptions"
$WriVal = "00000004"
$KeyVal = "4"
$RegVal = ReadValue($KeyLoc,$KeyNam)
If @ERROR = 0
If $RegVal <> $KeyVal
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
Else
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
$KeyNam = "ScheduledInstallDay"
$WriVal = "00000000"
$KeyVal = "0"
$RegVal = ReadValue($KeyLoc,$KeyNam)
If @ERROR = 0
If $RegVal <> $keyVal
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
Else
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
$KeyNam = "ScheduledInstallTime"
$WriVal = "00000000"
$KeyVal = "0"
$RegVal = ReadValue($KeyLoc,$KeyNam)
If @ERROR = 0
If $RegVal <> $KeyVal
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
Else
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
$KeyNam = "UseWUServer"
$WriVal = "00000001"
$KeyVal = "1"
$RegVal = ReadValue($KeyLoc,$KeyNam)
If @ERROR = 0
If $RegVal <> $KeyVal
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
Else
$RC = WriteValue($Keyloc,$KeyNam,$WriVal,"REG_DWORD")
EndIf
Shell '%COMSPEC% /C net stop "automatic updates"'
Shell '%COMSPEC% /C net start "automatic updates"'
EndIf