Powershell小技巧之设置IE代理

时间:2022-11-21 11:42:11

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Function Set-IEProxy
{
 param(
 [bool]$Enable=$false,
 [string]$ProxyServer,
 [ValidateRange(1,65535)]
 [int]$port,
 [bool]$EnableAutoDetectSetting
 )
 
 #设置IE代理
 $proxyRegPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
 $enableProxy = Get-ItemProperty -Path $proxyRegPath -Name ProxyEnable
 if( -not $Enable) {
 Set-ItemProperty -path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet 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 "$proxyRegPath\Connections" -Name DefaultConnectionSettings -Value $bytes
}
?
1
2
3
4
5
6
7
8
9
10
11
PS> Set-IEProxy -Enable $false<br>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版本