Windows 2000 Professional / Server SP-3 patch script
Last Updated: 2005-11-27
@echo off
REM ##############################################################################
REM
REM Windows 2000 Professional / Server SP-3 patch script by Doc Rice v1.2
REM This script requires the use of REG.EXE from the Windows NT 4.0 Resource Kit,
REM the SLEEP.EXE utility, and QFECHECK.EXE.
REM
REM An updated version of REG.EXE utility can be found at:
REM
REM ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/reg_x86.exe
REM
REM SLEEP.EXE can be found at:
REM
REM http://www2.gol.com/users/trane/programming/programming.html
REM
REM QFECHECK.EXE can be found at:
REM
REM http://support.microsoft.com/default.aspx?scid=kb;EN-US;q282784
REM
REM WARNING: This script assumes your Windows 2000 OS has been installed with
REM defaults and currently has DirectX 7.0.
REM
REM Please see http://winpatch.homeip.net for updated information.
REM
REM ##############################################################################
color 1F
title Windows 2000 SP-3 Hotfix Install
setlocal
for /f "tokens=7" %%i in ('".\QFECHECK\qfecheck.exe /v | find /i "service pack""') do set Service Pack=%%i
if 3 == %Service Pack% goto install
endlocal
goto nosp3
:install
echo Installing patches for Windows 2000 SP-3...
echo --------------------------------------------------------------------------------
echo Patch list updated as of 07/13/2004.
echo.
echo Today is %date%.
echo.
echo.
echo.
REM -------------------------------------------------------------
echo Patching for Q296441... & .\OS\Q296441\rbupdate.exe
echo.
echo Checking for MS02-042...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q326886\Description" /s || echo Patching - see Q326886... && .\OS\Q326886\Q326886_W2K_SP4_X86_EN.exe -q -z
echo.
echo Checking for MS02-045...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q326830\Description" /s || echo Patching - see Q326830... && .\OS\Q326830\Q326830_W2K_SP4_X86_EN.exe -q -z
echo.
echo Checking for MS02-048...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q323172\Description" /s || echo Patching - see Q323172... && .\OS\Q323172\q323172_W2K_SP4_X86_EN.exe -u -q -z
echo.
echo Checking for MS02-050...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q329115\Description" /s || echo Patching - see Q329115... && .\OS\Q329115\Q329115_W2K_SP4_X86_EN.exe /u /q /z
echo.
echo Checking for MS02-055...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q323255\Description" /s || echo Patching - see Q323255... && .\OS\Q323255\Q323255_W2K_SP4_X86_EN.exe /q /m /z
echo.
echo Checking for MS02-063...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q329834\Description" /s || echo Patching - see Q329834... && .\OS\Q329834\Q329834_W2K_SP4_X86_EN.exe /q /m /z
echo.
echo Checking for MS02-070...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q329170\Description" /s || echo Patching - see Q329170... && .\OS\Q329170\Q329170_W2K_SP4_X86_EN.exe /q /u /z
echo.
echo Checking for MS03-001...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q810833\Description" /s || echo Patching - see Q810833... && .\OS\Q810833\Q810833_W2K_SP4_X86_EN.exe /u /q /z
echo.
echo Patching for Q814078... & .\OS\Q814078\js56nen.exe /q /r:n
echo.
echo Checking for MS03-011...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP-1\Q816093\Description" /s || echo Patching - see Q816093... && .\OS\Q816093\Q816093_W2K_SP4_X86_EN.exe -z -q
echo.
echo Checking for MS03-013...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q811493\Description" /s || echo Patching - see Q811493... && .\OS\Q811493\Q811493_W2K_SP4_X86_EN.exe /u /q /z
echo.
echo Checking for MS03-023...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB823559\Description" /s || echo Patching - see Q823559... && .\OS\Q823559\Windows2000-KB823559-x86-ENU.exe /u /q /z
echo.
echo Checking for MS03-024...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\KB817606\Description" /s || echo Patching - see Q817606... && .\OS\Q817606\Windows2000-KB817606-x86-ENU.exe /u /q /z
echo.
echo Checking for MS03-025...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\KB822679\Description" /s || echo Patching - see Q822679... && .\OS\Q822679\Windows2000-KB822679-x86-ENU.exe /u /q /z
echo.
echo Checking for MS03-030...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB819696\Description" /s || echo Patching - see Q819696... && .\OS\Q819696\Windows2000-KB819696-x86-ENU.exe /u /q /z
echo.
echo Checking for MS03-034...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB824105\Description" /s || echo Patching - see Q824105... && .\OS\Q824105\Windows2000-KB824105-x86-ENU.exe /u /q /z
echo.
echo Checking for MS03-039...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB824146\Description" /s || echo Patching - see Q824146... && .\OS\Q824146\Windows2000-KB824146-x86-ENU.exe /u /q /z
echo.
echo Checking for MS03-041...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB823182\Description" /s || echo Patching - see Q823182... && .\OS\Q823182\Windows2000-KB823182-x86-ENU.exe /u /q /z
echo.
echo Checking for MS03-042...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB826232\Description" /s || echo Patching - see Q826232... && .\OS\Q826232\Windows2000-KB826232-x86-ENU.exe /u /q /z
echo.
echo Checking for MS03-043...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB828035\Description" /s || echo Patching - see Q828035... && .\OS\Q828035\Windows2000-KB828035-x86-ENU.exe /u /q /z
echo.
echo Checking for MS03-044...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB825119\Description" /s || echo Patching - see Q825119... && .\OS\Q825119\Windows2000-KB825119-x86-ENU.exe /u /q /z
echo.
echo Checking for MS03-045...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB824141\Description" /s || echo Patching - see Q824141... && .\OS\Q824141\Windows2000-KB824141-x86-ENU.exe /u /q /z
echo.
echo Checking for MS03-049...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB828749\Description" /s || echo Patching - see Q828749... && .\OS\Q828749\Windows2000-KB828749-x86-ENU.exe /u /q /z
echo.
echo Checking for MS03-051...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\KB810217\Description" /s || echo Patching - see Q810217... && .\OS\Q810217\Windows2000-KB810217-x86-ENU.exe /u /q /z
echo.
echo Checking for MS04-006...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB830352\Filelist" /s || echo Patching - see Q830352... && .\OS\Q830352\Windows2000-KB830352-x86-ENU.EXE /quiet /norestart
echo.
echo Checking for MS04-007...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB828028\Filelist" /s || echo Patching - see Q828028... && .\OS\Q828028\Windows2000-KB828028-x86-ENU.EXE /quiet /norestart
echo.
echo Checking for MS04-011...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB835732\Filelist" /s || echo Patching - see Q835732... && .\OS\Q835732\Windows2000-KB835732-x86-ENU.EXE /quiet /norestart
echo.
echo Checking for MS04-012...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB828741\Filelist" /s || echo Patching - see Q828741... && .\OS\Q828741\Windows2000-KB828741-x86-ENU.EXE /quiet /norestart
echo.
echo Checking for MS04-014...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB837001\Filelist" /s || echo Patching - see Q837001... && .\OS\Q837001\Windows2000-KB837001-x86-ENU.EXE /quiet /norestart
echo.
echo Checking for MS04-019...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB842526\Filelist" /s || echo Patching - see Q842526... && .\OS\Q842526\Windows2000-KB842526-x86-ENU.EXE /quiet /norestart
echo.
echo Checking for MS04-020...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB841872\Filelist" /s || echo Patching - see Q841872... && .\OS\Q841872\Windows2000-KB841872-x86-ENU.EXE /quiet /norestart
echo.
echo Checking for MS04-022...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB841873\Filelist" /s || echo Patching - see Q841873... && .\OS\Q841873\Windows2000-KB841873-x86-ENU.EXE /quiet /norestart
echo.
echo Checking for MS04-023...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB840315\Filelist" /s || echo Patching - see Q840315... && .\OS\Q840315\Windows2000-KB840315-x86-ENU.EXE /quiet /norestart
echo.
echo Checking for MS04-024...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB839645\Filelist" /s || echo Patching - see Q839645... && .\OS\Q839645\Windows2000-KB839645-x86-ENU.EXE /quiet /norestart
REM -------------------------------------------------------------
echo.
echo.
echo Patching Internet Information Services 5.0 SP-3
echo --------------------------------------------------------------------------------
echo.
echo Checking for MS03-018...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q811114\Description" /s || echo Patching - see Q811114... && .\IIS\Q811114\Q811114_W2K_SP4_X86_EN.exe /u /q /z
REM -------------------------------------------------------------
echo.
echo.
echo Patching Internet Explorer
echo --------------------------------------------------------------------------------
echo.
setlocal
for /f "tokens=3" %%i in ('.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version"') do set IE_Version=%%i
if 5.00.2516.1900 == %IE_Version% (goto patch-ie501sp3)
if 5.00.2919.800 == %IE_Version% (goto patch-ie501sp3)
if 5.00.2919.3800 == %IE_Version% (goto patch-ie501sp3)
if 5.00.2919.6307 == %IE_Version% (goto patch-ie501sp3)
if 5.00.2920.0000 == %IE_Version% (goto patch-ie501sp3)
if 5.00.3103.1000 == %IE_Version% (goto patch-ie501sp3)
if 5.00.3105.0106 == %IE_Version% (goto patch-ie501sp3)
if 5.00.3314.2101 == %IE_Version% (goto patch-ie501sp3)
if 5.00.3315.1000 == %IE_Version% (goto patch-ie501sp3)
if 5.00.3502.1000 == %IE_Version% (goto patch-ie501sp3)
if 5.50.3825.1300 == %IE_Version% (goto patch-ie55sp2)
if 5.50.4030.2400 == %IE_Version% (goto patch-ie55sp2)
if 5.50.4134.0100 == %IE_Version% (goto patch-ie55sp2)
if 5.50.4134.0600 == %IE_Version% (goto patch-ie55sp2)
if 5.50.4308.2900 == %IE_Version% (goto patch-ie55sp2)
if 5.50.4522.1800 == %IE_Version% (goto patch-ie55sp2)
if 5.50.4807.2300 == %IE_Version% (goto patch-ie55sp2)
if 6.0.2462.0000 == %IE_Version% (goto patch-ie6sp1)
if 6.0.2479.0006 == %IE_Version% (goto patch-ie6sp1)
if 6.0.2600.0000 == %IE_Version% (goto patch-ie6sp1)
if 6.0.2800.1106 == %IE_Version% (goto patch-ie6sp1)
if 6.0.3663.0000 == %IE_Version% (goto patch-ie6sp1)
if 6.0.3718.0000 == %IE_Version% (goto patch-ie6sp1)
goto recommend-ie
:patch-ie501sp3
echo Patching for Q318089... & .\IE_5.01\Q318089\vbs51nen.exe /q
echo.
echo Checking for MS04-004...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{eddbec60-89cb-44ef-8291-0850fd28ff6a}\Version" /s || echo Patching - see Q832894... && .\IE_5.01\Q832894\Q832894.exe /q:a /r:n
goto mdac
:patch-ie55sp2
echo.
echo Checking for MS04-004...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{eddbec60-89cb-44ef-8291-0850fd28ff6a}\Version" /s || echo Patching - see Q832894... && .\IE_5.5\Q832894\Q832894.exe /q:a /r:n
goto mdac
:patch-ie6sp1
echo Patching for Q330994... & .\IE_60\Q330994\q330994.exe /q:a /r:n
echo.
echo Checking for MS04-004...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{eddbec60-89cb-44ef-8291-0850fd28ff6a}\Version" /s || echo Patching - see Q832894... && .\IE_60\Q832894\Q832894.exe /q:a /r:n
goto mdac
endlocal
:recommend-ie
echo.
echo You are currently running an outdated version of Internet Explorer.
echo Updating to at least 5.01 is recommended.
:mdac
REM -------------------------------------------------------------
echo.
echo.
echo Patching MDAC 2.5 SP-3
echo --------------------------------------------------------------------------------
echo.
echo.
echo Checking for MS02-065...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\DataAccess\Q329414-25\Description" /s || echo Patching - see Q329414... && .\MDAC\Q329414\q329414_mdacall_x86.exe /C:"dahotfix.exe /q /n" /q
echo.
echo Checking for MS04-003...
.\REG\REG.EXE QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\DataAccess\Q832483\Description" /s || echo Patching - see Q832483... && .\MDAC\Q832483\ENU_Q832483_MDAC_x86.EXE /C:"dahotfix.exe /q /n" /q
REM -------------------------------------------------------------
echo.
echo.
echo Qchaining hotfixes...
echo.
.\Qchain\qchain.exe
REM -------------------------------------------------------------
color
echo.
echo.
echo Initial update process for Windows 2000 SP-3 completed. Please reboot
echo for all hotfixes to take effect and verify patch levels afterwards.
echo.
.\SLEEP\sleep.exe 03
goto end
:nosp3
echo Service Pack 3 is not installed on this system. Please install SP3
echo before running this script.
echo.
pause
goto end
:end
No Comments yet .....
Add Your Comment:
Note: All posts require administrator approval. Please allow 24 hours for message approval.