Disable IE Security設定

Server版本的Windows IE預設包含IE Security/Protected Mode的功能,瀏覽網頁時必須將目標URL設定為安全URL才能正常存取。這導致每次部屬測試環境時,都要花額外的時間去處理,因此我研究該如何透過script去將它給disable,以節省時間。

Download This Batch

Windows2008我透過Process Monitor去找到在操作IE Disable Protected Mode時,所需要修改的Registry。但這方法並不適用於Windows2003,必須改透過SYSOCMGR.EXE將IE Security Component移除。在實做上,首先可以透過ver指令判斷作業系統去決定要執行的動作。

ver | findstr "5\." > nul
if not errorlevel 1 goto DISABLE_IE_SECURITY_ON_WIN2003
 
ver | findstr "6\." > nul
if not errorlevel 1 goto DISABLE_PROTECTED_MODE_ON_WIN2008
 
echo Don't support to disable the IE protected mode for the Windows.
ver
GOTO FINISH
Win2003的部分我產生一個Config暫存檔,去餵給SYSOCMGR.EXE。其中IEHardenUser與IEHardenAdmin為針對User與Admin的Component,設為Off就會移除,反之設為On就會安裝。完成後會再把暫存檔刪除。
:DISABLE_IE_SECURITY_ON_WIN2003
echo Disable the IE Security
set TMPFILE="%BASE%IE-Security.tmp"
 
echo [Components] > %TMPFILE%
echo IEHardenUser=Off >> %TMPFILE%
echo IEHardenAdmin=Off >> %TMPFILE%
 
SYSOCMGR.EXE /i:%windir%\inf\sysoc.inf /u:%TMPFILE%
 
DEL %TMPFILE%
GOTO FINISH
Win2008部分就是將所有存取區域(Zones)中的Key=2500改3去Disable,改為0則為enable。接著會遇到的問題是每次開啟IE都會顯示討厭的Warning,你可以去新增Key=NoProtectedModeBanner為1到Internet Explorer\Main,它就會消失了。要讓它再次出現只要將值改為0或是刪除Key。
:DISABLE_PROTECTED_MODE_ON_WIN2008
echo Disable the IE Protected Mode
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0" /v 2500 /t REG_DWORD /d 3 /f
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1" /v 2500 /t REG_DWORD /d 3 /f
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2" /v 2500 /t REG_DWORD /d 3 /f
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v 2500 /t REG_DWORD /d 3 /f
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\4" /v 2500 /t REG_DWORD /d 3 /f
reg add "HKCU\SOFTWARE\Microsoft\Internet Explorer\Main" /v NoProtectedModeBanner /t REG_DWORD /d 1 /f
Win2008預設值中,只有Zones 3與4為0,因此要還原只要去改這兩個key。

友藏內心獨白: 所有的事情都可以自動化,不是嗎?

不檢查預設瀏覽器:

reg add "HKCU\SOFTWARE\Microsoft\Internet Explorer\Main" /v Check_Associations /t REG_SZ /d no /f
修改預設瀏覽器:
reg add "HKCU\Software\Clients\StartMenuInternet" /ve /t REG_SZ /d firefox.exe /f
由於Internet Zone沒有將所有存取權限打開,使用javascript可能還有問題,因此我將Local與Internet Zone存取能力改為與Trust Zone相同: 下載ieconfig.zip解壓縮,使用下面指令匯入registry,這registry是將Trust Zone匯出並修改而成。
reg import ieconfig.reg