Const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings"
strValueName = "ProxyEnable"
dwValue = 1
objRegistry.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValueName, dwValue
strValueName = "ProxyServer"
strValue = "svcproxy:80"
objRegistry.SetStringValue HKEY_CURRENT_USER, strKeyPath, strValueName, strValue
strValueName = "ProxyOverride"
strValue = "<local>"
objRegistry.SetStringValue HKEY_CURRENT_USER, strKeyPath, strValueName, strValue
指令碼一開始會定義一個名為 HKEY_CURRENT_USER 的常數,並且將值設為 &H80000001;我們稍後會使用此常數,告訴指令碼我們想要使用登錄中的 HKCU 部分。接著會連接到 WMI 服務,這一次是繫結至 root\default 命名空間與 StdRegProv 類別 (用來讀取與寫入登錄值的 WMI 類別)。
在連接完成之後,接下來會將登錄路徑 (SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings) 指派到一個名為 strKeyPath 的變數;然後將登錄值 (ProxyEnable) 與設定值 (1) 指派到 strValueName 與 dwValue 變數。現在呼叫 SetDWORDValue 方法與將 ProxyEnable 值變更為 1 所需的全部資訊我們都有了:
objRegistry.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValueName, dwValue
之後我們對 ProxyServer 與 ProxyOverride 重複相同的步驟。不過要注意,此兩種登錄值皆有 REG_SZ 資料型別;因此我們改用 SetStringValue 方法來取代 SetDWORDValue (如果您完全不了解我們在提到 SetDWORDValue 與 SetStringValue 這類項目時說的是什麼,請參閱《Microsoft Windows 2000 Scripting Guide》中的<Registry> (英文) 一章)。
如先前提過的,停用 Proxy 伺服器要簡單得多:只要將 ProxyEnable 的值設為 0 就可以了:
Const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings"
strValueName = "ProxyEnable"
dwValue = 0
objRegistry.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValueName, dwValue
事實上,在您的 Proxy 設定全都設定好之後 (也就是說,在初步將值指派給 ProxyServer 與 ProxyOverride 之後), 就可以藉由設定 ProxyEnable 碼,在使用 Proxy 伺服器與不使用 Proxy 伺服器之間切換。換句話說,在有 Proxy 位址與連接埠之後,以及在決定好要如何設定 ProxyOverride 值之後,唯一需要做的只是執行此指令碼來重新啟用 Proxy 伺服器的使用:
Const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings"
strValueName = "ProxyEnable"
dwValue = 1
objRegistry.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValueName, dwValue
如要停用 Proxy 伺服器,只要將 ProxyEnable 的值設為 0 即可,就這樣簡單。 |