Como altero as configurações de proxy da linha de comando no Windows 7?
Eu não estou falando apenas do http_proxy
. Preciso definir configurações de proxy em todo o sistema (as configurações de propriedades da Internet). Como faço isso?
Como altero as configurações de proxy da linha de comando no Windows 7?
Eu não estou falando apenas do http_proxy
. Preciso definir configurações de proxy em todo o sistema (as configurações de propriedades da Internet). Como faço isso?
Respostas:
Você precisará configurar um script de registro que fará as alterações normalmente feitas no Painel de Controle e depois mesclar o script para ativar o proxy. Você também precisaria de um script de registro "desfazer" para desativar as alterações.
No meu caso, tenho dois scripts, enable.reg e disable.reg:
Ativar proxy:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"AutoConfigURL"="http://10.10.10.1/autoproxy/proxy.pac"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections]
"DefaultConnectionSettings"=hex:16,00,00,00,05,02,00,00,0d,00,00,00,0e,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"SavedLegacySettings"=hex:36,00,00,00,46,1a,00,00,0d,00,00,00,0e,00,00,00,32,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
Desativar proxy:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"AutoConfigURL"=-
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections]
"DefaultConnectionSettings"=hex:16,00,00,00,05,02,00,00,0d,00,00,00,0e,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"SavedLegacySettings"=hex:36,00,00,00,46,1a,00,00,0d,00,00,00,0e,00,00,00,32,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
No script "desativar", =-
no final do AutoConfigURL, na verdade, exclui a chave do registro.
Observe que os valores que você vê acima são modificados para os fins desta resposta. Os valores hexadecimais reais são muito mais longos.
Para usar esses scripts, eu tinha um arquivo em lotes para cada um, parecido com este:
@echo off
start /min reg import C:\Path\To\Registry\File\enable_proxy.reg
Isso é totalmente viável a partir da linha de comando.
c#
código para isso .. :). thanx de qualquer maneira ..
Solução simples e funcional recuperada de http://www.ehow.com/how_6887864_do-proxy-settings-command-prompt_.html
Comando para ativar o uso de proxy:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
/v ProxyEnable /t REG_DWORD /d 1 /f
Comando para desativar o uso de proxy:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
/v ProxyEnable /t REG_DWORD /d 0 /f
Comando para alterar o endereço do proxy:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
/v ProxyServer /t REG_SZ /d proxyserveraddress:proxyport /f
Adicionei continuação de linha (^) para melhorar a legibilidade. Além disso, nesse caso, é mais uma configuração por usuário do que uma configuração em todo o sistema.
^
caracteres não fazem parte dos comandos.
NetSh para o resgate!
NetSh winhttp set proxy
deve ser útil. Aqui estão os comandos:
netsh winhttp set proxy myproxy
netsh winhttp set proxy myproxy:80 "<local>bar"
netsh winhttp set proxy proxy-server="http=myproxy;https=sproxy:88" bypass-list="*.contoso.com"
Fiz isso em C #, mas a filosofia é a mesma, escrevendo no registro, para que as seguintes instruções possam ser extrapoladas para o comando line. Deve ser feito três coisas:
Escreva no Registro "Configurações do HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet", no ProxyEnable: 1 para ativar, 0 para desativar
Grave no Registro "Configurações de HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet", no ProxyServer: xxx.xxx.xxx.xxxx: aaaa (xxx ... é o IP, aa .. é a porta)
Após executar as etapas 1 e 2, você terá gravado no registro a ativação do proxy, o IP e a porta, mas se você abrir o navegador, perceberá que não é suficiente, ainda não poderá navegar. A terceira etapa consiste em alterar o registro em relação às configurações de conexões:
"Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Connections" em "DefaultConnectionSettings".
Observe que, embora (pelo menos para o W7) haja 204 bytes nesse registro, você só precisa modificar o byte 8 (9º porque o byte 0 é o primeiro). O valor do byte 8 não apenas contém informações sobre a ativação / desativação do proxy, mas também sobre outras funcionalidades:
//09 when only 'Automatically detect settings' is enabled
//03 when only 'Use a proxy server for your LAN' is enabled
//0B when both are enabled
//05 when only 'Use automatic configuration script' is enabled
//0D when 'Automatically detect settings' and 'Use automatic configuration script' are enabled
//07 when 'Use a proxy server for your LAN' and 'Use automatic configuration script' are enabled
//0F when all the three are enabled.
//01 when none of them are enabled.
No meu caso, a opção 'Detectar configurações automaticamente' está sempre ativada, portanto, alterno o valor do byte 8 de 09 para 0B e vice-versa para ativar e desativar o proxy.
Crie um arquivo em lotes e cole o seguinte conteúdo (alternará o estado Proxy),
@echo off
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable') DO SET currentProxy=%%B
rem ECHO currentProxy=%currentProxy%
if %currentProxy%==0x1 (
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
echo Proxy Disabled
) else (
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
echo Proxy Enabled
)
pause
Espero estar apontando você na direção correta aqui, mas se você estiver tentando acessar as configurações de proxy por meio de "Opções da Internet", basta abrir o menu Iniciar e digite "opção da Internet" (qualquer configuração ou aplicativo que você possa localizar também exemplo "proxy"). Você deve reconhecer este menu e poder adicionar as configurações necessárias.