Powershell小技巧之设置IE代理

IE的代理设置位于注册表中:”HKCU:SoftwareMicrosoftWindowsCurrentVersionInternet Settings”下。关键键值为ProxyEnable和ProxyServer。所以通过更改注册表即可完成IE代理的设置。

Function Set-IEProxy
{
 param(
 [bool]$Enable=$false,
 [string]$ProxyServer,
 [ValidateRange(1,65535)]
 [int]$port,
 [bool]$EnableAutoDetectSetting
 )
 
 #设置IE代理
 $proxyRegPath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionInternet Settings"
 $enableProxy = Get-ItemProperty -Path $proxyRegPath -Name ProxyEnable
 if( -not $Enable) {
 Set-ItemProperty -path "HKCU:SoftwareMicrosoftWindowsCurrentVersionInternet Settings" -Name "ProxyEnable" -value 0
 Write-Host "IE代理已禁用。"
 }
 else {
 Set-ItemProperty -path $proxyRegPath -Name "ProxyEnable" -value 1
 Set-ItemProperty -path $proxyRegPath -Name "ProxyServer" -value ( $ProxyServer+":"+$port )
 Write-Host "IE代理已启用"
 }
 
 #设置IE自动检测配置
 [byte[]]$bytes=$null
 if($EnableAutoDetectSetting){
  $bytes = [byte[]]@(70,0,0,0,38,0,0,0,9,0,0,0,10,0,0,0,50,46,49,46,49,46,51,58,51,51,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,172,18,32,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
 }
 else{
  $bytes = [byte[]]@(70,0,0,0,39,0,0,0,1,0,0,0,10,0,0,0,50,46,49,46,49,46,51,58,51,51,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,172,18,32,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
 }
 Set-ItemProperty -Path "$proxyRegPathConnections" -Name DefaultConnectionSettings -Value $bytes
}


PS> Set-IEProxy -Enable $false
IE代理已禁用。 PS> Set-IEProxy -Enable $true -ProxyServer 2.1.1.3 -port 33 IE代理已启用 PS> Set-IEProxy IE代理已禁用。 PS> Set-IEProxy -EnableAutoDetectSetting $true IE代理已禁用。 PS> Set-IEProxy -EnableAutoDetectSetting $false IE代理已禁用。

支持所有PS版本