Windows 7에서 명령 줄에서 프록시 설정을 변경하는 방법은 무엇입니까?


46

Windows 7의 명령 줄에서 프록시 설정을 어떻게 변경합니까?

나는 단지에 대해 이야기하고 있지 않습니다 http_proxy. 시스템 전체 프록시 설정 (인터넷 속성 설정의 프록시 설정)을 설정해야합니다. 어떻게합니까?


경우 프록시에서 권한 부여가 필요합니다 stackoverflow.com/questions/26992886/...을
바드

답변:


15

제어판을 통해 일반적으로 변경하는 레지스트리 스크립트를 구성한 다음 스크립트를 병합하여 프록시를 활성화해야합니다. 또한 변경 사항을 비활성화하려면 "실행 취소"레지스트리 스크립트가 필요합니다.

필자의 경우 enable.reg 및 disable.reg라는 두 개의 스크립트가 있습니다.

프록시 사용 :

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

프록시 비활성화 :

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

"disable"스크립트에서 =-AutoConfigURL의 끝에있는 실제로 레지스트리에서 키를 삭제합니다.

위에서 본 값은이 답변의 목적으로 수정되었습니다. 실제 16 진수 값이 훨씬 더 깁니다.

이 스크립트를 사용하기 위해 다음과 같이 배치 파일을 하나씩 배치했습니다.

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

그것은 명령 행에서 완벽하게 작동합니다.


나는 이런 식으로 끝났다. 배치 스크립트에서 레지스트리를 조작하는 방법을 몰랐 으므로이 c#코드를 작성했습니다 .. :). 어쨌든 고맙습니다 ..
갈래

이것은 나를 위해 작동하지 않는 것 같습니다. 'LAN 설정'에서 "자동 구성 스크립트 사용"상자가 체크 표시되어 있고 표시되어 있지 않아야합니까?
Jonny

@prongs C # 코드를 공유 할 것 같지 않습니다.
tisaconundrum

61

http://www.ehow.com/how_6887864_do-proxy-settings-command-prompt_.html 에서 검색된 간단하고 효과적인 솔루션

프록시 사용을 활성화하는 명령 :

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

프록시 사용을 비활성화하는 명령 :

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

프록시 주소를 변경하는 명령 :

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

가독성을 높이기 위해 줄 연속 (^)을 추가했습니다. 또한이 경우 시스템 전체 설정보다 사용자 별 설정과 유사합니다.


3
IMO, 이것은 질문에 대한 실제 답변입니다. 감사합니다 @sayap
kmonsoor

4
+1. 이것은 훨씬 더 우아한 솔루션입니다.

3
참고 : ^문자는 명령의 일부가 아닙니다.
Joshua Drake

6
그러나 "LAN 구성"창을 열 때까지 브라우저는 탐색하지 않습니다. 이 방법을 사용할 때 적어도 이것이 나에게 발생합니다. 프록시가 변경된 브라우저를 깨우기 위해이 작업을 수행 한 후에 만 ​​연결이 작동합니다.
Marcos Cassiano

1
@Cricrazy 이것은 내가 생각했던 것입니다
Narzard

27

구조에 NetSh !

NetSh winhttp set proxy 도움이 될 것입니다. 명령은 다음과 같습니다.

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"


netsh를 WinHTTP에 리셋 프록시 :은 netsh를 사용하여 프록시 지우기
케빈 Driedger

9
나는 이것이 WinHTTP 라이브러리를 사용하는 응용 프로그램에만 적용된다고 생각합니다. 빠른 테스트 후 내 시스템의 일반적인 응용 프로그램이 사용하는 것처럼 보이지 않습니다.
sayap

4

나는 C #에서 그것을했지만 레지스트리에 쓰는 철학은 동일하므로 다음 명령을 줄 명령으로 외삽 할 수 있습니다. 다음 세 가지를 수행해야합니다.

  1. ProxyEnable에서 레지스트리 "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings"에 쓰십시오. 활성화하려면 1, 비활성화하려면 0

  2. ProxyServer의 레지스트리 "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings"에 쓰기 : xxx.xxx.xxx.xxxx : yyyy (xxx ...는 IP, yy ..는 포트 임)

  3. 1 단계와 2 단계를 수행 한 후에 프록시 활성화와 IP 및 포트를 레지스트리에 기록했지만 브라우저를 열면 충분하지 않다는 것을 알 수 있습니다. 세 번째 단계는 연결 설정과 관련된 레지스트리 변경으로 구성됩니다.

"DefaultConnectionSettings"의 "Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Connections"

이 레지스트리에는 (적어도 W7의 경우) 204 바이트가 있지만 바이트 8 만 수정하면됩니다 (바이트 0이 첫 번째이므로 9 번째). 바이트 8 값에는 프록시 활성화 / 비활성화뿐만 아니라 다른 기능에 대한 정보가 포함됩니다.

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

필자의 경우 '자동으로 설정 감지'가 항상 활성화되어 있으므로 바이트 8의 값을 09에서 0B로 또는 그 반대로 전환하여 프록시를 활성화 및 비활성화합니다.


1
powershell을 사용하여 DefaultConnectionSettings 설정을 업데이트하는 SO에 대한 답변을 찾았습니다. 누군가에게 도움이 될 것이라고 생각했습니다. stackoverflow.com/a/15914470/1158180
paulH

2

배치 파일을 만들고 다음 내용을 붙여 넣습니다 (프록시 상태를 토글합니다).

@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

1
이것은 @sayap의 답변과 매우 유사합니다.

-3

여기에서 올바른 방향을 가리키고 싶지만 "인터넷 옵션"을 통해 프록시 설정에 액세스하려는 경우 시작 메뉴를 열고 "인터넷 옵션"을 입력하면됩니다 (모든 설정 또는 응용 프로그램에서도이 방법을 찾을 수 있습니다) 예 : "proxy"). 그런 다음이 메뉴를 인식하고 필요한 설정을 추가 할 수 있어야합니다.


1
친구 ... 당신은 제목을 제대로 보지 못했습니다 ... 당신이 나에게 말하려는 것을 알고 있습니다. 커맨드 라인에서하고 싶습니다.
갈래

죄송합니다, 친구가 당신을 모두 고치게 한 것 같습니다
Luke Russell
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.