- Resumen
- Notación de variables
- Paso 1: Entender los tipos de ajustes de proxy
- Paso 2: Configurar el proxy a nivel de usuario (WinINET) mediante PowerShell
- Paso 3: Configurar el proxy a nivel sistema (WinHTTP / advproxy)
- Paso 4: Reflejar la configuración del proxy para BITS (LocalSystem)
- Paso 5: Verificación y solución de problemas
- Paso 6: Restablecer la configuración del proxy
- Conclusión
Resumen
Esta guía explica cómo configurar el proxy en Windows, a nivel de usuario (WinINET) y a nivel de sistema (WinHTTP / BITS). Usamos notaciones como ProxyServer = http=<<PROXY_ADDRESS>>;https=<<PROXY_ADDRESS>>, donde <<VARIABLE>> indica valores dependientes del entorno.
Notación de variables
En esta guía utilizamos las siguientes variables para valores dependientes del entorno. Sustitúyalas según su caso:
| Variable | Ejemplo | Comentario |
|---|---|---|
<<PROXY_ADDRESS>> |
proxy.ejemplo.com:8080 |
Dirección y puerto del servidor proxy |
<<PROXY_BYPASS>> |
intranet.ejemplo.com;192.168.*;<local> |
Dominios/subredes que no usan proxy, separados por “;” |
<<ADVPROXY_SETTINGS_PATH>> |
C:\proxy-settings.json |
Ruta del archivo JSON de configuración para advproxy |
Paso 1: Entender los tipos de ajustes de proxy
| Tipo | Objetivo | Uso principal |
|---|---|---|
| Usuario (WinINET) | Ajustes del usuario que ha iniciado sesión | Navegador, aplicaciones del usuario (IE/Edge, etc.) |
| Sistema (WinHTTP / advproxy) | Ajustes para el sistema completo o servicios | BITS, Windows Update, servicios de sistema que usan cuenta LocalSystem |
Importante: BITS funciona bajo la cuenta LocalSystem, por lo que los ajustes de usuario (WinINET) no se aplican a esos servicios.
Paso 2: Configurar el proxy a nivel de usuario (WinINET) mediante 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>>"
Confirmar configuración:
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select ProxyEnable, ProxyServer, ProxyOverride
Paso 3: Configurar el proxy a nivel sistema (WinHTTP / advproxy)
① Método clásico (para Windows Server 2019 o anterior)
netsh winhttp set proxy <<PROXY_ADDRESS>> "<<PROXY_BYPASS>>"
netsh winhttp show proxy
② Método recomendado (Windows Server 2022 en adelante)
Crear archivo JSON con la configuración:
@'
{
"ProxyIsEnabled": true,
"Proxy": "http=<<PROXY_ADDRESS>>;https=<<PROXY_ADDRESS>>",
"ProxyBypass": "<<PROXY_BYPASS>>",
"AutoConfigIsEnabled": false,
"AutoDetect": false
}
'@ | Out-File "<<ADVPROXY_SETTINGS_PATH>>" -Encoding ascii
Aplicar la configuración:
netsh winhttp set advproxy setting-scope=machine settings-file="<<ADVPROXY_SETTINGS_PATH>>"
Alternativamente (sin archivo 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}'
Paso 4: Reflejar la configuración del proxy para BITS (LocalSystem)
bitsadmin /util /setieproxy localsystem MANUAL_PROXY <<PROXY_ADDRESS>> "<<PROXY_BYPASS>>"
bitsadmin /util /getieproxy localsystem
Paso 5: Verificación y solución de problemas
netsh winhttp show proxy
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select ProxyEnable, ProxyServer, ProxyOverride
- Si Windows Update da errores vía proxy, asegúrese de que
AutoDetectestá enfalsey que se utilice advproxy para Server Core. - Verifique que los servicios del sistema estén utilizando configuración de sistema (no solo usuario).
Paso 6: Restablecer la configuración del proxy
Usuario (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
Sistema (WinHTTP / advproxy)
netsh winhttp reset proxy
O para el método advproxy:
netsh winhttp set advproxy setting-scope=machine settings='{\"Proxy\":\"\",\"ProxyBypass\":\"\",\"AutoconfigUrl\":\"\",\"AutoDetect\":false}'
Conclusión
La configuración de proxy en Windows se divide básicamente en dos niveles: usuario (WinINET) y sistema (WinHTTP / advproxy).
- WinINET afecta a aplicaciones del usuario (IE/Edge, navegador, apps de usuario).
- WinHTTP / advproxy impacta actualizaciones de sistema, BITS, servicios de fondo.
En entornos modernos (Windows Server 2022+), se recomienda usar advproxy mediante JSON. Gestionar correctamente ambos niveles asegura que actualizaciones, transferencias BITS y comunicaciones de sistema funcionen sin errores bajo entorno de proxy.
Pasos clave:
- Identifique el nivel de comunicación (usuario vs sistema).
- Aplique configuración adecuada (WinINET o WinHTTP).
- En entornos Server Core use advproxy.
- Cuando ya no se requiera proxy, restablezca usando los comandos correspondientes.
Con este enfoque, reducirá fallos de comunicación bajo proxy, y asegurará que servicios de sistema y de usuario operen correctamente.
