95 lines
3.3 KiB
Batchfile
95 lines
3.3 KiB
Batchfile
::@echo off
|
|
setlocal enabledelayedexpansion
|
|
:: ==========================================
|
|
:: Windows Health Repair @Erich Gasslmaier
|
|
:: V 1.0
|
|
:: Erstellt: %date% %time%
|
|
:: ==========================================
|
|
|
|
:: Logdatei mit Zeitstempel erstellen
|
|
set LOGFILE=C:\WindowsHealth_%date:~-4%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%.log
|
|
set LOGFILE=%LOGFILE: =0%
|
|
|
|
echo ================================================== >> %LOGFILE%
|
|
echo Windows Health Repair Script gestartet am %date% %time% >> %LOGFILE%
|
|
echo ================================================== >> %LOGFILE%
|
|
|
|
:: TrustedInstaller auf Auto setzen
|
|
echo [SERVICE] TrustedInstaller auf automatisch stellen >> %LOGFILE%
|
|
SC config trustedinstaller start=auto >> %LOGFILE% 2>&1
|
|
|
|
|
|
:: Dienste stoppen
|
|
echo [STOP DIENSTE] >> %LOGFILE%
|
|
net stop bits >> %LOGFILE% 2>&1
|
|
net stop wuauserv >> %LOGFILE% 2>&1
|
|
net stop msiserver >> %LOGFILE% 2>&1
|
|
net stop appidsvc >> %LOGFILE% 2>&1
|
|
net stop cryptSvc >> %LOGFILE% 2>&1
|
|
ping -n 11 127.0.0.1 > nul
|
|
|
|
:: Update-Ordner bereinigen
|
|
echo [CLEAN] SoftwareDistribution und Catroot2 >> %LOGFILE%
|
|
if exist %Systemroot%\SoftwareDistribution.old rd /s /q %Systemroot%\SoftwareDistribution.old >> %LOGFILE% 2>&1
|
|
Ren %Systemroot%\SoftwareDistribution SoftwareDistribution.old >> %LOGFILE% 2>&1
|
|
|
|
if exist %Systemroot%\System32\catroot2.old rd /s /q %Systemroot%\System32\catroot2.old >> %LOGFILE% 2>&1
|
|
Ren %Systemroot%\System32\catroot2 catroot2.old >> %LOGFILE% 2>&1
|
|
|
|
:: DLLs neu registrieren
|
|
echo [DLL REG] >> %LOGFILE%
|
|
regsvr32.exe /s atl.dll >> %LOGFILE% 2>&1
|
|
regsvr32.exe /s urlmon.dll >> %LOGFILE% 2>&1
|
|
regsvr32.exe /s mshtml.dll >> %LOGFILE% 2>&1
|
|
|
|
:: Netzwerk-Komponenten zur?cksetzen
|
|
echo [NETSH RESET] >> %LOGFILE%
|
|
netsh winsock reset >> %LOGFILE% 2>&1
|
|
netsh winsock reset proxy >> %LOGFILE% 2>&1
|
|
|
|
:: Alte Treiberreste entfernen
|
|
echo [DRIVER CLEANUP] >> %LOGFILE%
|
|
rundll32.exe pnpclean.dll,RunDLL_PnpClean /DRIVERS /MAXCLEAN >> %LOGFILE% 2>&1
|
|
|
|
:: DISM Pr?fungen & Reparaturen
|
|
echo [DISM SCANHEALTH] >> %LOGFILE%
|
|
dism /Online /Cleanup-image /ScanHealth >> %LOGFILE% 2>&1
|
|
|
|
echo [DISM CHECKHEALTH] >> %LOGFILE%
|
|
dism /Online /Cleanup-image /CheckHealth >> %LOGFILE% 2>&1
|
|
|
|
echo [DISM RESTOREHEALTH] >> %LOGFILE%
|
|
dism /Online /Cleanup-image /RestoreHealth >> %LOGFILE% 2>&1
|
|
|
|
echo [DISM COMPONENT CLEANUP] >> %LOGFILE%
|
|
dism /Online /Cleanup-image /StartComponentCleanup >> %LOGFILE% 2>&1
|
|
|
|
:: Systemdateien pruefen
|
|
echo [SFC SCAN] Kann lange dauern >> %LOGFILE%
|
|
sfc /scannow
|
|
echo Y | chkdsk C: /F /R /B >> %LOGFILE% 2>&1
|
|
|
|
:: Dienste wieder starten
|
|
:: Wird bei neustart gemacht
|
|
|
|
:: -------------------------------------------------------------------
|
|
:: Konfiguration SCCM loeschen
|
|
:: -------------------------------------------------------------------
|
|
::for /d %i in ("C:\Windows\ccmcache\*") do rd /s /q "%i" >> %LOGFILE% 2>&1
|
|
rd /s /q C:\Windows\ccmcache\ >> %LOGFILE% 2>&1
|
|
:: -------------------------------------------------------------------
|
|
:: Schritt 3: Abschlussmeldung
|
|
:: -------------------------------------------------------------------
|
|
echo.
|
|
echo SCCM Aufraeumen abgeschlossen.
|
|
|
|
:: Fertig
|
|
echo ================================================== >> %LOGFILE%
|
|
echo Script abgeschlossen am %date% %time% >> %LOGFILE%
|
|
echo Logfile: %LOGFILE% >> %LOGFILE%
|
|
echo Client neu Starten
|
|
echo und Windows FUP Update nochmals starten
|
|
echo ==================================================
|
|
echo Fertig! Details siehe %LOGFILE%
|
|
|