it-swarm.it

In Windows 7, come modificare le impostazioni del proxy dalla riga di comando?

Come posso modificare le impostazioni del proxy dalla riga di comando in Windows 7?

Non sto parlando solo del http_proxy. Devo impostare impostazioni proxy a livello di sistema (quelle nelle impostazioni delle proprietà di Internet). Come lo faccio?

45
prongs

Dovrai configurare uno script del registro che eseguirà le modifiche normalmente tramite il Pannello di controllo, quindi unire lo script per abilitare il proxy. Avresti anche bisogno di uno script di registro "annulla" per disabilitare le modifiche.

Nel mio caso, ho due script, enable.reg e disable.reg:

Abilita 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

Disabilita 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

Nello script "disable", =- alla fine di AutoConfigURL elimina effettivamente la chiave dal registro.

Nota che i valori che vedi sopra sono modificati ai fini di questa risposta. I valori esadecimali effettivi sono molto più lunghi.

Per utilizzare questi script, avevo un file batch per ognuno, con un aspetto simile al seguente:

@echo off
start /min reg import C:\Path\To\Registry\File\enable_proxy.reg

Questo è pienamente utilizzabile dalla riga di comando.

15
user3463

Soluzione semplice e funzionante recuperata da http://www.ehow.com/how_6887864_do-proxy-settings-command-Prompt_.html

Comando per abilitare l'utilizzo del proxy:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
    /v ProxyEnable /t REG_DWORD /d 1 /f

Comando per disabilitare l'utilizzo del proxy:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
    /v ProxyEnable /t REG_DWORD /d 0 /f

Comando per cambiare l'indirizzo del proxy:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
    /v ProxyServer /t REG_SZ /d proxyserveraddress:proxyport /f

Ho aggiunto la continuazione della linea (^) per migliorare la leggibilità. Inoltre, in questo caso, è più simile a un'impostazione per utente che a un'impostazione a livello di sistema.

60
sayap

NetSh al salvataggio!

NetSh winhttp set proxy dovrebbe essere utile. Ecco i comandi:

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"

27

L'ho fatto in C #, ma la filosofia è la stessa, scrivendo nel registro, quindi le seguenti istruzioni possono essere estrapolate al comando di riga. Dovranno essere fatte tre cose:

  1. Scrivi sul registro "HKCU\Software\Microsoft\Windows\CurrentVersion\Impostazioni Internet", su ProxyEnable: 1 per abilitare, 0 per disabilitare

  2. Scrivi nel Registro di sistema "HKCU\Software\Microsoft\Windows\CurrentVersion\Impostazioni Internet", su ProxyServer: xxx.xxx.xxx.xxxx: yyyy (xxx ... è l'IP, yy .. è la porta)

  3. Dopo aver eseguito i passaggi 1 e 2, avrai scritto per registrare l'attivazione del proxy e l'IP e la porta, ma se apri il browser noterai che non è sufficiente, non puoi ancora navigare. Il terzo passaggio consiste nel modificare il registro delle impostazioni delle connessioni:

"Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections" su "DefaultConnectionSettings".

Si noti che sebbene (almeno per W7) ci siano 204 byte in questo registro, è sufficiente modificare il byte 8 (9 poiché il byte 0 è il primo). Il valore Byte 8 non solo contiene informazioni sull'attivazione/disattivazione del proxy, ma anche su altre funzionalità:

        //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. 

Nel mio caso, "Rileva automaticamente impostazioni" è sempre abilitato, quindi cambio il valore del byte 8 da 09 a 0B e viceversa per abilitare e disabilitare il proxy.

3
Ivan

Creare un file batch e incollare il contenuto seguente (si alternerà lo stato 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
2
Dinesh Gupta