IIS

修復IIS Server Application Error錯誤自動修復批處理

@echo off
echo *
echo *
echo ****************************************************
echo *                                                  *
echo *  IIS Server Application Error錯誤自動修復批處理  *
echo *  作者:hayden                                    *
echo *  博客:www.mysuc.com                             *
echo *                                                  *
echo ****************************************************
echo *
echo *
set /p isok0=開始IIS修復?(y/n)
if %isok0%==y goto begin
goto forend

:begin
set userIWAM=IWAM_%COMPUTERNAME%
set userIUSR=IUSR_%COMPUTERNAME%

:checkIWAM
net user %userIWAM%
if %errorlevel%==0 goto checkIUSR
goto netuserIWAM

:checkIUSR
net user %userIUSR%
if %errorlevel%==0 goto edituser
goto netuserIUSR

:netuserIWAM
net user
set /p tiwam=請輸入正確的“啓動 IIS 進程帳戶”名稱(即以IWAM_開頭的帳戶名稱)?
set userIWAM=%ans%
goto checkIWAM

:netuserIUSR
net user
set /p tiusr=請輸入正確的“Internet 來賓帳戶”名稱(即以IUSR_開頭的帳戶名稱)?
set userIUSR=%tiusr%
goto checkIUSR

:edituser
echo 重置“啓動 IIS 進程帳戶”密碼爲123
net user %userIWAM% 123
echo 重置“Internet 來賓帳戶”密碼爲123
net user %userIUSR% 123
echo 密碼同步
cscript.exe %HOMEDRIVE%\Inetpub\Adminscripts\adsutil.vbs set w3svc/wamuserpass 123
cscript.exe %HOMEDRIVE%\Inetpub\Adminscripts\adsutil.vbs set w3svc/anonymoususerpass 123
echo *
echo *
set /p isok1=請測試IIS是否正常?(y/n)
if %isok1%==y goto forend

cscript.exe %HOMEDRIVE%\Inetpub\Adminscripts\synciwam.vbs -v
iisreset
echo *
echo *
set /p isok2=請測試IIS是否正常?(y/n)
if %isok2%==y goto forend

echo 清除MSDTC服務註冊表相關信息
reg delete HKLM\SYSTEM\CurrentControlSet\Services\MSDTC /f 
reg delete HKLM\SOFTWARE\Microsoft\MSDTC /f
reg delete HKCR\CID /f
echo 停止並重新安裝MSDTC服務
net stop msdtc 
msdtc -uninstall 
msdtc -install 
echo 重置“啓動 IIS 進程帳戶”與“Internet 來賓帳戶”密碼
net user %userIWAM% 123
net user %userIUSR% 123
echo 同步IIS metabase中IWAM_MYSERVER的密碼
%HOMEDRIVE%\Inetpub\Adminscripts\adsutil.vbs set w3svc/wamuserpass "123"
echo 同步COM+應用程序所用的IWAM_MYSERVER密碼
cscript.exe %HOMEDRIVE%\Inetpub\Adminscripts\synciwam.vbs -v
echo *
echo *
set /p isok3=請測試IIS是否正常?(y/n)
if %isok3%==y goto forend

echo 重新註冊相關組件
rundll32 %windir%\system32\inetsrv\wamreg.dll, CreateIISPackage 
regsvr32 %windir%\system32\inetsrv\asptxn.dll /s
echo *
echo *
set /p isok4=請測試IIS是否正常?(y/n)
if %isok4%==y goto forend

echo *
echo *
echo 如果IIS還不正常的話,我真的解決不了唉,請另請高明吧!

:forend
echo *
echo *
@echo 批處理執行完畢,請按任意鍵退出?
@echo off 
pause

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章