- Visão geral
- Convenções de variáveis
- Passo 1: Entender os tipos de configuração de proxy
- Passo 2: Configurar o proxy do usuário com PowerShell
- Passo 3: Configurar o proxy do sistema (WinHTTP / BITS)
- Passo 4: Aplicar configuração do BITS para LocalSystem
- Passo 5: Verificação e solução de problemas
- Redefinir as configurações de proxy
- Conclusão
Visão geral
Este artigo explica como configurar o proxy no Windows, dividindo entre nível de usuário (WinINET) e nível de sistema (WinHTTP).
Exemplo: ProxyServer = http=<<PROXY_ADDRESS>>;https=<<PROXY_ADDRESS>>.
Os valores dependentes do ambiente são representados por <<variável>>.
Convenções de variáveis
| Variável | Exemplo | Descrição |
|---|---|---|
<<PROXY_ADDRESS>> |
proxy.exemplo.com:8080 |
Nome do host e porta do servidor proxy |
<<PROXY_BYPASS>> |
intranet.exemplo.com;192.168.*;<local> |
Endereços ou domínios que ignoram o proxy (separados por 😉 |
<<ADVPROXY_SETTINGS_PATH>> |
C:\proxy-settings.json |
Caminho do arquivo JSON de configuração para o advproxy |
Passo 1: Entender os tipos de configuração de proxy
| Tipo | Escopo | Uso |
|---|---|---|
| Nível de usuário (WinINET) | Usuário logado | Afeta navegadores e aplicativos do usuário (IE/Edge, etc.) |
| Nível de sistema (WinHTTP) | Conta do sistema / todo o OS | Usado por Windows Update, BITS, Defender e outros serviços do sistema |
BITS (Background Intelligent Transfer Service) é o serviço responsável por transferências em segundo plano (como Windows Update e definições do Defender).
Como ele roda sob a contaLocalSystem, as configurações de proxy do usuário (WinINET) não se aplicam automaticamente.
Passo 2: Configurar o proxy do usuário com PowerShell
$proxy = "<<PROXY_ADDRESS>>"
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyEnable -Value 1
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyServer -Value "http=$proxy;https=$proxy"
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyOverride -Value "<<PROXY_BYPASS>>"
Verificação:
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select ProxyEnable, ProxyServer, ProxyOverride
Passo 3: Configurar o proxy do sistema (WinHTTP / BITS)
① Método antigo (Windows Server 2019 e anteriores)
netsh winhttp set proxy <<PROXY_ADDRESS>> "<<PROXY_BYPASS>>"
netsh winhttp show proxy
② Novo método (Windows Server 2022 ou posterior – recomendado)
Criar o arquivo JSON:
@'
{
"ProxyIsEnabled": true,
"Proxy": "http=<<PROXY_ADDRESS>>;https=<<PROXY_ADDRESS>>",
"ProxyBypass": "<<PROXY_BYPASS>>",
"AutoConfigIsEnabled": false,
"AutoDetect": false
}
'@ | Out-File "<<ADVPROXY_SETTINGS_PATH>>" -Encoding ascii
Aplicar as configurações:
netsh winhttp set advproxy setting-scope=machine settings-file="<<ADVPROXY_SETTINGS_PATH>>"
Também é possível definir diretamente via linha de comando (sem JSON):
netsh winhttp set advproxy setting-scope=machine settings='{\"ProxyIsEnabled\":true,\"Proxy\":\"http=<<PROXY_ADDRESS>>;https=<<PROXY_ADDRESS>>\",\"ProxyBypass\":\"<<PROXY_BYPASS>>\",\"AutoConfigIsEnabled\":false,\"AutoDetect\":false}'
Este método é útil para testes rápidos ou configurações temporárias.
Passo 4: Aplicar configuração do BITS para LocalSystem
bitsadmin /util /setieproxy localsystem MANUAL_PROXY <<PROXY_ADDRESS>> "<<PROXY_BYPASS>>"
bitsadmin /util /getieproxy localsystem
Passo 5: Verificação e solução de problemas
netsh winhttp show proxy
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select ProxyEnable, ProxyServer, ProxyOverride
Se o Windows Update falhar por causa do proxy, desative AutoDetect e use o formato advproxy em ambientes Server Core.
Redefinir as configurações de proxy
Nível de usuário (WinINET)
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 0
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyServer -ErrorAction SilentlyContinue
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyOverride -ErrorAction SilentlyContinue
Nível de sistema (WinHTTP / advproxy)
netsh winhttp reset proxy
Ou, em ambientes Server 2022+:
netsh winhttp set advproxy setting-scope=machine settings='{\"Proxy\":\"\",\"ProxyBypass\":\"\",\"AutoconfigUrl\":\"\",\"AutoDetect\":false}'
Conclusão
O Windows possui dois níveis principais de configuração de proxy:
- WinINET — afeta comunicações de aplicativos do usuário (IE, Edge, etc.)
- WinHTTP / advproxy — controla comunicações de sistema (Windows Update, BITS, Defender, etc.)
No Windows Server 2022 e posteriores, recomenda-se usar advproxy.
Use bitsadmin para aplicar a configuração ao LocalSystem.
Resumo prático:
- Identifique o tipo de comunicação (usuário ou sistema)
- Configure corretamente WinINET ou WinHTTP
- Use
advproxyem Server Core - Redefina com
reset proxy/reset advproxyquando necessário
Assim, o ambiente Windows manterá comunicações estáveis e seguras mesmo atrás de proxies corporativos.
