修改需設置代理網絡環境識別方式。由原來的查找註冊表項改成根據DNS後綴進行判斷。html
1.創建自動切換腳本
標紅色的地方需根據本身的狀況進行修改。
$proxyServer:改成代理服務器地址;
$cmpStr:DNS域名,能夠經過ipconfig命令查看。設置須要使用代理的DNS域名,其它爲禁用IE代理。shell
可把下面的代碼複製下來,把上述2個字符串找到並替換紅色對應位置,保存爲「SwitchProxy.ps1」,放到C盤提示需提高權限,能夠在D盤創建一個文件夾,把此文件放到文件夾中。
#代理服務器
$proxyServer = "XXX.XXX.corp.com:80"
#公司標誌
$cmpStr = "XXX.XXX.COM"
#獲取網卡(可加多個,若有線網卡、無線網卡)
$netAdp = gwmi -class Win32_NetworkAdapterConfiguration -filter "(Description like 'Intel%' or Description like 'Realtek%')"
#註冊表位置
$regKey = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
$regConKey = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections"
#標誌位
$flagIndex = 8
$flagProxy = 2
$flagCount = 4
#註冊表值
$conSet = $(Get-ItemProperty $regConKey).DefaultConnectionSettings
$slSet = $(Get-ItemProperty $regConKey).SavedLegacySettings
$proxyEnabled = $(Get-ItemProperty $regKey).ProxyEnable安全
if($netAdp.DNSDomain -contains $cmpStr)
{
Write-Host "IE proxy is enabling"
if($proxyEnabled -ne 1)
{
Set-ItemProperty -path $regKey -Name ProxyEnable -value 1
Set-ItemProperty -path $regKey -Name ProxyServer -value $proxyServer
}
if($($conSet[$flagIndex] -band $flagProxy) -ne $flagProxy)
{
$conSet[$flagIndex] = $conSet[$flagIndex] -bor $flagProxy
$conSet[$flagCount]++
$slSet[$flagIndex] = $slSet[$flagIndex] -bor $flagProxy
$slSet[$flagCount] += 2服務器
Set-ItemProperty -Path $regConKey -Name DefaultConnectionSettings -Value $conSet
Set-ItemProperty -Path $regConKey -Name SavedLegacySettings -Value $slSet
}
}
else
{
Write-Host "IE proxy is disabling"
if($proxyEnabled -eq 1)
{
Set-ItemProperty -path $regKey -Name ProxyEnable -value 0
#Remove-ItemProperty -Path $regKey -Name ProxyServer
}網絡
if($($conSet[$flagIndex] -band $flagProxy) -eq $flagProxy)
{
$flagDisableProxy = -bnot $flagProxy
$conSet[$flagIndex] = $conSet[$flagIndex] -band $flagDisableProxy
$conSet[$flagCount]++
$slSet[$flagIndex] = $slSet[$flagIndex] -band $flagDisableProxy
$slSet[$flagCount] += 2代理
Set-ItemProperty -Path $regConKey -Name DefaultConnectionSettings -Value $conSet
Set-ItemProperty -Path $regConKey -Name SavedLegacySettings -Value $slSet
}
}rest
2.用Powershell手動執行
到剛纔建的目錄下,用Powershell手動執行「SwitchProxy.ps1」,看看是否報錯。通常會提示是否執行,須要確認。爲了不計劃任務運行時的問題,可用管理員權限打開Powershell,執行 「Set-ExecutionPolicy Unrestricted」,有安全要求的能夠本身弄個簽名,將SwitchProxy.ps1進行簽名後,改成「Set-ExecutionPolicy AllSigned」。
手動執行沒問題的話,就能夠進行下一步。htm
若是powershell 提示沒法加載文件 D:\ss\SwitchProxy.ps1,由於在此係統中禁止執行腳本。 此時應該輸入set-executionpolicy remotesigned 更改執行權限blog
還能夠添加計劃任務 taskschd.msc來計劃執行此腳本ip
來源http://blog.sina.com.cn/s/blog_539576160101l6gf.html