系统补丁自动升级.docx
- 文档编号:10925635
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:16
- 大小:17.66KB
系统补丁自动升级.docx
《系统补丁自动升级.docx》由会员分享,可在线阅读,更多相关《系统补丁自动升级.docx(16页珍藏版)》请在冰点文库上搜索。
系统补丁自动升级
@echooff
remSouthChinaAgricultureUniversity
remversion0.01
rem使用介绍
rem功能:
试图设置自动连接校内WindowsUpdate服务器
rem先进行服务检查,没有安装服务的机器先安装服务,重启动后再修改设置
remHistory
rem2004-03-170.01b全校公测
echo[INFO]ForWindows2000,WindowsXP,Windows2003only.
echo[INFO]只在Windows2000,WindowsXP,Windows2003上适用
echo[INFO]ForNormaluseronly(computerthatrunseveryday)
setServer=0
remServer=1
pause
cls
rem创建临时文件夹
setmhnet=%temp%\mhnet
rmdir/S/Q%mhnet%2>NUL1>NUL
mkdir%mhnet%
rem系统语言环境判断
regqueryHKLM\SYSTEM\CurrentControlSet\Control\Nls\Language>%mhnet%\Language.log
find"Default"%mhnet%\Language.log|find"0804">NUL
IFNOTERRORLEVEL1(
setLanguage=Chinese
)else(
setLanguage=English
)
if%Language%==Chinese(
echo[INFO]本程序专为设置校内WindowsAutomaticUpdates服务
)else(
echo[INFO]ThiswillsetupSCAUWindowsAutomaticUpdatesServices
)
startreadme.txt
rem检查配套文件完整性
call:
AllFiles
rem检查属于NT系列
call:
CheckSystem
rem检查拥有管理员权限
call:
CheckAdmin
rem检查AutomaticUpdates服务是否正常安装
call:
CheckService
call:
SCAURegImport
if%Language%==Chinese(
echo[INFO]程序讨论,欢迎到NC板
echo[INFO]程序结束
)else(
echo[INFO]Wewelcomeyoutopressyouropiniononbbs.scauboard:
NC
echo[INFO]ProgramExit
)
pause
setmhnet=
setpatchfile=
setdownloadurl=
goto:
eof
exit
:
ends
rem主函数结束
rem*************************
rem*************************
rem导入:
SCAURegImport
rem*************************
rem*************************
:
SCAURegImport
ECHO[INFO]备份注册表(BackupReg)%temp%
pushd%temp%
setBakFile1=AutoUpdateBak1.reg
setBakFile2=AutoUpdateBak2.reg
ifexist%BakFile1%(
ECHO[INFO]已经安装了本补丁,按任意键删除原有备份
PAUSE
delete%BakFile1%/f/q>NUL2>NUL
delete%BakFile2%/f/q>NUL2>NUL
)
popd
pushd%mhnet%
regEXPORT"HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\AutoUpdate"%BakFile1%1>NUL
regEXPORT"HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate"%BakFile2%1>NUL
move%BakFile1%%temp%>NUL
move%BakFile2%%temp%>NUL
setBakFile1=
setBakFile2=
popd
ECHO[INFO]正在停止WindowsUpdate服务(StoppingUpdateservice)......
netstopwuauserv>NUL2>NUL
ECHO[INFO]正在修改注册表操作(ModifyingRegistry)......
ECHOY|regDELETE"HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\AutoUpdate"/va/f>NUL
regaddHKLM\Software\Policies\Microsoft\Windows\WindowsUpdate/vWUServer/tREG_SZ/d""/f>NUL
regaddHKLM\Software\Policies\Microsoft\Windows\WindowsUpdate/vWUStatusServer/tREG_SZ/d""/f>NUL
regaddHKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU/vNoAutoRebootWithLoggedOnUsers/tREG_DWORD/d1/f>NUL
regaddHKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU/vNoAutoUpdate/tREG_DWORD/d0/f>NUL
regaddHKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU/vRescheduleWaitTime/tREG_DWORD/d1/f>NUL
regaddHKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU/vScheduledInstallDay/tREG_DWORD/d0/f>NUL
regaddHKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU/vUseWUServer/tREG_DWORD/d1/f>NUL
if%Server%==1(
ECHO[INFO]AutomaticUpdatesServiceinstalledforserver
regaddHKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU/vAUOptions/tREG_DWORD/d4/f>NUL
regaddHKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU/vScheduledInstallTime/tREG_DWORD/d11/f>NUL
)else(
ECHO[INFO]AutomaticUpdatesServiceinstalledfornon-server
regaddHKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU/vAUOptions/tREG_DWORD/d2/f>NUL
regaddHKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU/vScheduledInstallTime/tREG_DWORD/d12/f>NUL
)
rem服务自动启动
ECHO[INFO]设置服务为自动启动(Setservicetoautomaticstart)
regaddHKLM\SYSTEM\CurrentControlSet\Services\wuauserv/vStart/tREG_DWORD/d2/f>NUL
regaddHKLM\SYSTEM\CurrentControlSet\Services\BITS/vStart/tREG_DWORD/d2/f>NUL
ECHO[INFO]正在重新启动WindowsUpdate服务(StartingUpdateService)......
netstartbits>NUL2>NUL
netstartwuauserv>NUL2>NUL
goto:
eof
rem*************************
rem*************************
rem停止/删除服务函数
rem*************************
rem*************************
:
StopService
setSrvName=%1
netstop%SrvName%>NUL>NUL2
regqueryHKLM\SYSTEM\CurrentControlSet\Services\\%SrvName%>NUL
ifnoterrorlevel1(
regdeleteHKLM\SYSTEM\CurrentControlSet\Services\\%SrvName%/f>NUL
)ELSE(
if%Language%==Chinese(
echo[FAIL]系统服务:
%SrvName%*没找到*
)else(
echo[FAIL]SystemService:
%SrvName%NotFound
)
)
goto:
eof
rem*************************
rem*************************
rem判断是否NT系列系统,win9x系统则退出
rem*************************
rem*************************
:
CheckSystem
ifNOT%OS%==Windows_NT(
if%Language%==Chinese(
echo[INFO]本程序专为中文/英文版本的Win2000,WinXP,Win2003设计
echo[FAIL]Windows95,Windows98,WindowsME的用户不必运行
echo[INFO]程序退出。
)else(
echo[INFO]DesignforWin2k,WinXP,Win2003withChineseorEnglishversiononly.
echo[FAIL]Windows95,Windows98,WindowsMEwillnotbetroubledbythisbug.
echo[INFO]Thankyouforchecking.Pleasedeliverthistosomeonewhoneedit.
)
pause
exit
)else(
if%Language%==Chinese(
echo[INFO]用户使用基于WindowsNT内核的系统,
)else(
echo[INFO]YouareusingasystembasedonWindowsNTkernel,
)
)
goto:
eof
rem*************************
rem*************************
rem判断是否NT系列系统,win9x系统则退出
rem*************************
rem*************************
:
CheckAdmin
netuser"%username%"1>%mhnet%\ifadmin.log
rem如果不是系统管理员
find"*Administrators"%mhnet%\ifadmin.log>NUL
IFERRORLEVEL1(
if%Language%==Chinese(
echo[FAIL]用户不是系统管理员组成员,不能执行相应程序
echo[INFO]请更换有足够权限的用户重新运行本程序
)else(
echo[FAIL]Thisprogramrequireadministratorrighttocontinue
echo[INFO]Pleaseswitchuserandtryagain
)
pause
exit
goto:
eof
)else(
if%Language%==Chinese(
echo[INFO]用户属于系统管理员组,
)else(
echo[INFO]Youhavegottherightofadministrator,
)
)
goto:
eof
rem*************************
rem*************************
rem先进行补丁检查,没有安装补丁的机器先安装补丁,重启动后再查杀病毒
rem*************************
rem*************************
:
CheckService
remif%Language%==Chinese(
remecho[INFO]检查AutomaticUpdates
rem)else(
remecho[INFO]CheckingAutomaticUpdatesService
rem)
rem检查服务的注册表值
regquery"HKLM\SYSTEM\CurrentControlSet\Services">%mhnet%\Services.log
find"wuauserv"%mhnet%\Services.log>NUL
IFERRORLEVEL1(
rem您的计算机未安装Automaticupdates服务
call:
InstallService
pause
exit
rem中止执行
)ELSE(
remif%Language%==Chinese(
remecho[INFO]注册表检查显示您的系统已经安装了wuauserv服务。
rem)else(
remecho[INFO]regreportsthatyoursystemhaswuauservserviceinstalled
rem)
)
goto:
eof
rem*************************
rem*************************
rem清空注册表某\Run值
rem*************************
rem*************************
:
CleanRun
regdeleteHKLM\Software\Microsoft\Windows\CurrentVersion\Run\\%1/f>NUL
goto:
eof
rem*************************
rem*************************
rem停止不安全服务
rem*************************
rem*************************
:
StopUnSafeSrv
remnetstop%1>NUL
regaddHKLM\SYSTEM\CurrentControlSet\Services\\%1/vStart/tREG_DWORD/d0x3/f>NUL
goto:
eof
rem*************************
rem*************************
rem导入正常注册表的execute文件关联
rem*************************
rem*************************
:
Regdefault
regimportregdefault.reg>NUL
goto:
eof
rem*************************
rem*************************
rem安装wuauserv包
rem*************************
rem*************************
:
InstallService
remregqueryHKLM\SYSTEM\CurrentControlSet\Control\Nls\Language>%mhnet%\Language.log
rem中文系统
find"InstallLanguage"%mhnet%\Language.log|find"0804">NUL
IFNOTERRORLEVEL1(CALL:
CNService)
rem英文系统
find"InstallLanguage"%mhnet%\Language.log|find"0409">NUL
IFNOTERRORLEVEL1(CALL:
ENService)
rem其他语言包,以上语言包虽用call调用,但不希望返回
if%Language%==Chinese(
echo[FAIL]你并未使用中文/英文操作系统,
echo[INFO]请记下下面显示的InstallLanguage及Default的值,请到微软网站下载相应服务
echo[INFO]程序退出
)else(
echo[FAIL]YouarenotusingwindowswithChinese/Englishlanguage
echo[INFO]Wesuggestyoudownloadtheservicefrommicrosoftwebsite.
echo[INFO]PleasewritedowntheInstallLanguage&Defaultvalueforlateruse.
echo[INFO]programterminated
)
find"InstallLanguage"%mhnet%\Languate.log
start
rem微软服务安装网页
pause
exit
goto:
eof
rem*************************
rem*************************
rem中文服务包下载安装
rem*************************
rem*************************
:
CNService
setpatchfile=WUAU22CHS.msi
setdownloadurl=
call:
Download
start%mhnet%\%patchfile%
if%Language%==Chinese(
echo[INFO]安装好服务后重启电脑,再运行本程序
)else(
echo[INFO]RestartyourcomputerwhenServiceinstallationisdone.Andrunagain.
)
pause
exit
goto:
eof
rem*************************
rem*************************
rem英文服务包下载安装
rem*************************
rem*************************
:
ENService
setpatchfile=WUAU22ENU.msi
setdownloadurl=
call:
Download
start%mhnet%\%patchfile%
if%Language%==Chinese(
echo[INFO]安装好服务后重启电脑,再运行本程序
)else(
echo[INFO]RestartyourcomputerwhenServiceinstallationisdone.Andrunagain.
)
pause
exit
goto:
eof
rem*************************
rem*************************
rem检查部分文件完整性
rem*************************
rem*************************
:
AllFiles
ifnotexistreg.exe(
echo[WARN]reg.exeNOTFOUND
pause
exit
)else(
copyreg.exe%mhnet%/y>NUL
)
ifnotexistwget.exe(
echo[WARN]wget.exeNOTFOUND
pause
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 补丁 自动 升级