使用指令碼修改IE的區域網設定-自動配置指令碼
先說這個問題的背景:公司的代理配置指令碼限制過嚴,開發時自己配的host經常被識別為非法地址,這很討厭,於是我複製了公司的配置指令碼儲存在本地,然後做了些修改,讓自己的host都是合法的,但是更討厭的時,公司的安全系統會定時把代理配置指令碼還原為官方的,於是我希望自己也有個程式能監控代理配置指令碼的設定,如果不是我自己的,馬上改正,要做到這點,首先得能夠用指令碼化的方式修改設定。
網上很多的使用指令碼修改代理的文章,都是直接改代理伺服器設定的,查了好久沒找到我想要的,不過這些文章還是很有啟發,就是IE的這些設定應該都是存在登錄檔裡的。於是我根據當前設定的自動配置指令碼的某個關鍵詞在登錄檔裡面搜,發現原來是在這裡設定的:[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\NlaSvc\Parameters\Internet\ManualProxies]
這下就好辦了,寫登錄檔檔案或是用命令列的方式都可以修改這個設定:
1、登錄檔方式,編輯一個文字檔案如下:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\NlaSvc\Parameters\Internet\ManualProxies]
@="filepath"
@表示這個鍵的預設值,filepath可以是“file://c:/some.pac”的形式,表示本地檔案,也可以是url,說明使用一個網路上公用的代理檔案,然後另存為XXX.reg即可,再雙擊儲存的檔案,相應的設定就被修改了;
2、命令列方式,使用red add命令:
reg add
這個命令表示在登錄檔中新增一個鍵值,如果已存在則會覆蓋其值,/ve表示預設值,/d "val"表示要使用val來設定這個鍵,詳細的reg命令可以在命令提示符中敲reg /?檢視。使用命令列方式時務必使用管理員許可權執行,不然無法修改。
現在問題就解決了,只需要再寫個腳本週期性的呼叫命令列命令就可以了。