Hi an @lle,
ich habe mir mal die "Mühe" gemacht und ein kleines Skript geschrieben, welches einen Client mit einem im Netzwerk befindlichen WSUS 3.0 Server verbinden.
Ist gestestet und bei uns im Einsatz. Läuft zuverlässig und gut. Wenn euch was auffällt, gerne schreiben
Spoiler anzeigen
;#####################################################################
;## Datum: 07.11.2007 ##
;## Beschreibung: Tool für automatische WSUS-Updates (Clientseitig) ##
;## Copyright (c) MM ##
;#####################################################################
#include <Process.au3>
[/autoit] [autoit][/autoit] [autoit];TrayTip für die Benutzer als Information
TrayTip("Überprüfung auf Updates", "Ihr System wird auf Updates überprüft.", 5, 1)
;Verisons Info zur Überprüfung der REK-Key Version
$version = "1.01"
If Not IsAdmin() Then ;Kein Admin und Problematik mit Netzwerk abgefangen!!!!
RunAsSet('USERNAME', 'DOMÄNE', 'PASSWORT')
Run(@ScriptFullPath, @ScriptDir, @SW_HIDE)
RunAsSet()
Exit
EndIf
func registry ()
;######################################
;Ändern der Registry für WSUS
;######################################
;Löschen der alten REG-Werte
_RunDos('REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v AccountDomainSid /f')
_RunDos('REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v PingID /f')
_RunDos('REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v SusClientId /f')
_RunDos('REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /f')
;Versions Key
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v KeyVersion /t REG_SZ /d ' & $version)
;Eintragen der neuen REG-Werte
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v WUServer /t REG_SZ /d http://10.43.1.16')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v WUStatusServer /t REG_SZ /d http://10.43.1.16')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v ElevateNonAdmins /t REG_DWORD /d 0');Benutzer informieren (1) oder nicht (0)
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v TargetGroupEnabled /t REG_DWORD /d 1')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v TargetGroup /t REG_SZ /d ""')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v AcceptTrustedPublisherCerts /t REG_DWORD /d 1')
;AU
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAUShutdownOption /t REG_DWORD /d 1')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAUAsDefaultShutdownOption /t REG_DWORD /d 1')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUPowerManagement /t REG_DWORD /d 1')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 0')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /t REG_DWORD /d 4')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallDay /t REG_DWORD /d 0')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallTime /t REG_DWORD /d 5')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v UseWUServer /t REG_DWORD /d 1')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v DetectionFrequencyEnabled /t REG_DWORD /d 1')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v DetectionFrequency /t REG_DWORD /d 4')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v IncludeRecommendedUpdates /t REG_DWORD /d 0')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AutoInstallMinorUpdates /t REG_DWORD /d 1')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoRebootWithLoggedOnUsers /t REG_DWORD /d 1')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v RebootRelaunchTimeoutEnabled /t REG_DWORD /d 1')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v RebootRelaunchTimeout /t REG_DWORD /d 1440')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v RebootWarningTimeoutEnabled /t REG_DWORD /d 1')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v RebootWarningTimeout /t REG_DWORD /d 30')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v RescheduleWaitTimeEnabled /t REG_DWORD /d 1')
_RunDos('REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v RescheduleWaitTime /t REG_DWORD /d 30')
;Deaktivieren von Windows Update Online
_RunDos('REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate" /v DisableWindowsUpdateAccess /f')
_RunDos('REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate" /v DisableWindowsUpdateAccess /t REG_DWORD /d 1')
;######################################
;Ende Registry
;######################################
EndFunc
;Überprüfung, ob REG-Key gesetzt ist
$reg = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate","KeyVersion")
If $reg == "" Then ;KEY nicht vorhanden
_RunDos("sc config wuauserv start= auto") ;Setzt Dienst auf automatisch Startart
_RunDos("net stop wuauserv") ;Beenden des Dienstes
registry ()
_RunDos("net start wuauserv") ;Starten des Dienstes,
_RunDos("wuauclt /resetauthorization /detectnow") ;Registrieren am WSUS Server
_RunDos("wuauclt /detectnow") ;Anfrage an WSUS Server stellen
_RunDos("wuauclt /detectnow") ;Anfrage an WSUS Server stellen
Exit
EndIf
If $reg == $version Then ;KEY vorhanden
_RunDos("sc config wuauserv start= auto") ;Setzt Dienst auf automatisch Startart
_RunDos("net stop wuauserv") ;Beenden des Dienstes
Sleep(500)
_RunDos("net start wuauserv") ;Starten des Dienstes,
_RunDos("wuauclt /resetauthorization /detectnow") ;Registrieren am WSUS Server
_RunDos("wuauclt /detectnow") ;Anfrage an WSUS Server stellen
_RunDos("wuauclt /detectnow") ;Anfrage an WSUS Server stellen
Exit
EndIf
If $reg <> $version Then ;KEY vorhanden, neue Version
_RunDos("sc config wuauserv start= auto") ;Setzt Dienst auf automatisch Startart
_RunDos("net stop wuauserv") ;Beenden des Dienstes
registry ()
_RunDos("net start wuauserv") ;Starten des Dienstes,
_RunDos("wuauclt /resetauthorization /detectnow") ;Registrieren am WSUS Server
_RunDos("wuauclt /detectnow") ;Anfrage an WSUS Server stellen
_RunDos("wuauclt /detectnow") ;Anfrage an WSUS Server stellen
Exit
EndIf
Gruß und viel Spaß damit. Vielleicht kann es jemand gebrauchen