Als ITler kommt man immer wieder zu dem Punkt an dem man ein paar Rechner außerhalb der Domäne und damit abseits von Gruppenrichtlinien schnell mit Updates versorgen möchte, dazu hat man im Idealfall einen lokalen „Windows Server Update Services“ kurz WSUS. Ein WSUS Server lädt sich die Windows, Office und viele andere Microsoftproduktupdates herunter und stellt sie für alle lokalen Netzteilnehmer zur Verfügung. Es gibt ein paar Registrierungseinträge die man dazu ändern muss um ein nicht Domänenmitglied davon zu überzeugen seine Updates aus dem lokalen Netz zu beziehen, übrigens hier recht ansehnlich dokumentiert.

Ich habe dazu zwei Skripte für den interessierten Leser, eines um einen Rechner zum WSUS zu verbinden und eines um Ihn aufs Microsoftonlineupdate zurückzuführen.

Zum WSUS verbinden:

@echo off %debug%
setlocal

rem wsus-client-rein.cmd

echo Auto-Update-Dienst anhalten
„%windir%\system32\net.exe“ stop „wuauserv“ || (
echo Das Skript muss mit Administrationsrechten gestartet werden!
pause
exit /b 2
)

echo Registryeintraege erzeugen
(
echo Windows Registry Editor Version 5.00
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
echo „WUServer“=“http://SERVERNAME:PORT
echo „WUStatusServer“=“http://SERVERNAME:PORT
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
echo „NoAutoUpdate“=dword:00000000
echo „AUOptions“=dword:00000004
echo „ScheduledInstallDay“=dword:00000000
echo „ScheduledInstallTime“=dword:0000000a
echo „NoAutoRebootWithLoggedOnUsers“=dword:00000000
echo „AutoInstallMinorUpdates“=dword:00000001
echo „RebootRelaunchTimeoutEnabled“=dword:00000001
echo „RebootRelaunchTimeout“=dword:0000003c
echo „RescheduleWaitTimeEnabled“=dword:00000001
echo „RescheduleWaitTime“=dword:0000000f
echo „DetectionFrequencyEnabled“=dword:00000001
echo „RebootWarningTimeoutEnabled“=dword:00000001
echo „RebootWarningTimeout“=dword:0000001e
echo „UseWUServer“=dword:00000001
echo „NoAUShutdownOption“=dword:00000000
echo „NoAUAsDefaultShutdownOption“=dword:00000000
) > „%temp%\wsus-client-rein.reg“

echo Registyaenderung ausfuehren
„%windir%\Regedit.exe“ /s „%temp%\wsus-client-rein.reg“

if „“==“%debug%“ (
echo Registrydatei beseitigen
erase „%temp%\wsus-client-rein.reg“
)

echo Auto-Update-Dienst neustarten
„%windir%\system32\net.exe“ start „wuauserv“

echo Windows Update Agent wird neu inizialisiert
wuauclt /resetauthorization /detectnow

pause
exit /b 0

Zum Microsoftonlineupdate zurückkehren:

@echo off %debug%
setlocal

rem wsus-client-delete.cmd

echo Auto-Update-Dienst anhalten
„%windir%\system32\net.exe“ stop „wuauserv“ || (
echo Das Skript muss mit Administrationsrechten gestartet werden!
pause
exit /b 2
)

echo Registryeintraege erzeugen
(
echo Windows Registry Editor Version 5.00
echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
) > „%temp%\wsus-client-delete.reg“

echo Registyaenderung ausfuehren
„%windir%\Regedit.exe“ /s „%temp%\wsus-client-delete.reg“

if „“==“%debug%“ (
echo Registrydatei beseitigen
erase „%temp%\wsus-client-delete.reg“
)

echo Auto-Update-Dienst neustarten
„%windir%\system32\net.exe“ start „wuauserv“

pause
exit /b 0

beides als „.CMD“ Datei erstellen und als Administrator bei Bedarf ausführen.

Skript herunterladen: WSUScmd