Windows 7 Update Fix – Probleme bei Windows Update beheben

Batch Kommandozeilen Snippets

Auf vielen Windows 7 Rechnern gibt es immer noch das Problem, dass die Suche nach Updates teilweise tagelang den grünen Statusbalken laufen lässt, jedoch keine Aktualisierungen gefunden werden können. Um diesen Fehler vorerst dauerhaft zu beheben, reichen ein paar wenige Handgriffe bereits aus.

Wenn der Statusbalken bei der Suche nach Windows Updates oftmals über ein paar Tage ergebnislos von links nach rechts tickert und dazu eine erhöhte CPU Last für die Update-Dienste auftritt, dann ist meist ein tiefgehenderes Problem vorhanden. Selbst bei frisch installierten Windows 7 Geräten kann dieses Update-Problem existent sein. Vor etwas mehr als einem Jahr gab es dafür bereits eine Lösung, diese funktioniert jedoch mittlerweile nicht mehr richtig. Microsoft hat dafür nun zwei neue Updatepakete bereitgestellt, die diese Phänomen erfolgreich beseitigen können.

Mit dem nachfolgenden Script könnt Ihr automatisiert die passenden Updatedateien für euer 32- oder 64-Bit System installieren. Das funktioniert auch bei einer Verteilung über Active-Directory. Wichtig ist, dass ihr euch die vier Dateien vorher runterladet und sie sich im gleichen Verzeichnis wie das Script befinden.

Das Script

 

@echo off && color 9f
title Windows 7 Update Fix x86/x64 --- www.JoeKaDev.de ---
fsutil dirty query %SystemDrive% >NUL && set admin=1
if "%admin%"=="0" (
    title FEHLER -- Windows 7 Update Fix x86/x64 --- www.JoeKaDev.de ---
    echo.
    echo [!] Das Script muss mit administrativen Berechtigungen ausgefuehrt werden!
  echo.
    goto ende
)
setlocal
set prereq_windows6.1=KB3177467 KB3172605
set find=%SystemRoot%\system32\find.exe
set wmic=%SystemRoot%\system32\wbem\wmic.exe
set wusaSysNative=%SystemRoot%\SysNative\wusa.exe
set scSysNative=%SystemRoot%\SysNative\sc.exe
set sc=%SystemRoot%\system32\sc.exe
set wusa=%SystemRoot%\system32\wusa.exe
if exist "%scSysNative%" set sc=%scSysNative%
if exist "%wusaSysNative%" set wusa=%wusaSysNative%
"%sc%" qc wuauserv | "%find%" /i "DISABLED" > NUL && set winupdate_disabled=1
"%sc%" query wuauserv | "%find%" /i "STOPPED" > NUL && set winupdate_stopped=1
if "%winupdate_disabled%"=="1" if "%winupdate_stopped%"=="1" (
    title FEHLER -- Windows 7 Update Fix x86/x64 --- www.JoeKaDev.de ---
    echo.
    echo [!] Der Windows Update Dienst ist deaktiviert.
    echo [!] Bitte Dienst aktivieren und Script noch mal starten...
    echo.
    goto ende
)
set windowsversion=
ver | "%find%" "6.1." >NUL && set windowsversion=windows6.1
if "%windowsversion%"=="" (
    title FEHLER -- Windows 7 Update Fix x86/x64 --- www.JoeKaDev.de ---
    echo.
    echo [!] Fehler beim Ermitteln der Windows-Version!
  echo.
    goto ende
)
call set prereq=%%prereq_%windowsversion%%%
set architecture=x86
"%wmic%" COMPUTERSYSTEM GET SystemType | "%find%" /i "x64" >NUL && set architecture=x64
cls
echo.
pushd %~dp0
echo [+] Liste der zu installierenden Updates: %prereq%
for %%A IN (%prereq%) DO (
    echo.
    echo [-] Installiere Update %%A ...
    for /F %%i IN ('dir /b "%windowsversion%-%%A-*%architecture%*.msu"') DO (
        call :installupdates "%%~i"
    )
)
popd
echo.
echo [*] Installation der Updates abgeschlossen.
echo.
"%SystemRoot%\system32\choice.exe" /M "Moechten Sie den Computer jetzt neu starten?"
if "%errorlevel%"=="1" (
    title BITTE NEUSTARTEN -- Windows 7 Update Fix x86/x64 --- www.JoeKaDev.de ---
    echo.
    echo [!] Starte Computer neu ...
  echo.
    "%SystemRoot%\system32\shutdown.exe" -r -t 3
)
goto ende

:installupdates
echo.
start /wait "install" "%wusa%" "%~dp0%~1" /quiet /norestart
if "%errorlevel%"=="2359302" echo [*] Status: Das Update ist bereits installiert.
if "%errorlevel%"=="3010" echo [!] Status: Ein Neustart ist erforderlich.
goto ende

:ende
endlocal

 

Benötigte Updates x86 (32 Bit)

Windows 7 Servicing Stack Update (KB3177467)

Windows 7 Juli 2016 Rollup (KB3172605)

Benötigte Updates x64 (64 Bit)

Windows 7 Servicing Stack Update (KB3177467)

Windows 7 Juli 2016 Rollup (KB3172605)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.