Como faço para definir configurações de proxy para o SISTEMA LOCAL?

22

Se eu editar as Configurações de proxy através do Painel de controle, as configurações serão armazenadas em HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnablee ...\ProxyServer. Naturalmente, essas configurações não são usadas ao executar como um serviço em LOCAL SYSTEM.

Então, eu tentei definir ProxyEnablee ProxyServerabaixo HKEY_USERS\S-1-5-18\...(assim como HKEY_USERS\.DEFAULT\...e todos os outros usuários do sistema), mas isso não funciona.

Como faço para definir as configurações de proxy para o LOCAL SYSTEMusuário?

Rasmus Faber
fonte

Respostas:

21

Eu mesmo descobri:

Na verdade, é o valor Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettingsusado.

Como isso não é facilmente modificado, você pode modificar as configurações de proxy de um usuário, exportar a chave do Registro, modificar o caminho no arquivo exportado HKEY_USERS\S-1-5-18e reimportá-lo.

Rasmus Faber
fonte
Isso resolveu meu problema, muito obrigado! Acabei escrevendo uma classe Java para manipular a cadeia hexadecimal DefaultConnectionSettings, pois precisava definir o proxy programaticamente.
Andrew Swan
Isso pode funcionar se a autenticação for necessária?
Raúl Salinas-Monteagudo
11

Copie as configurações de proxy do IE para o WinHttp:

  • Execute cmdcomo administrador:

    • netsh winhttp show proxy

    • netsh winhttp import proxy source =ie

TomazZ
fonte
3
Um liner :netsh winhttp import proxy source =ie
Vadzim
6

Outra maneira, ainda que muito mais confusa, é usar o psexec para abrir um prompt de comando em execução como LOCAL SYSTEM e, a partir desse iexplore.exe aberto, modificar as configurações adequadamente.

Rory
fonte
PsExec.exe -i -s regedit /s "%~dp0Internet Settings.reg"
Vadzim
1

Convém tentar usar o ProxyCFG.EXE , que define o proxy para todas as chamadas WinHTTP.

Christopher_G_Lewis
fonte
Quais versões do Windows têm ProxyCFG.EXE? Não está no Windows 7, por exemplo. Além disso, o IE usa o WinHTTP?
Andrew Swan
1
No Windows 7 / Win 2008 R2, o NetSH.exe é usado para todos os itens de configuração de proxy: technet.microsoft.com/en-us/library/cc731131(WS.10).aspx
Christopher_G_Lewis
1

Reg adicione "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings" / v "ProxyEnable" / t REG_DWORD / d "0" / f

Reg adicione "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings" / v "ProxyServer" / t REG_SZ / d " http: //procycorp.bac: 80 " / f

user319684
fonte
1
Isso realmente funciona agora? Há 7 anos, quando tentei isso pela última vez, ele apenas alterou os valores no registro, mas você teve que alterar o Connections \ DefaultConnectionSettings para realmente fazer o Windows usar o servidor procy.
Rasmus Faber
Isso define o usuário atual (CU em HKCU), portanto não o usuário do sistema local.
Ralph Bolton
1

A mesma coisa pode ser feita muito mais fácil dessa maneira:

& C:\windows\System32\bitsadmin.exe /Util /SetIEProxy LocalSystem Manual_proxy http://<proxyserver>:<proxy port> "<Any bypasses to be added>"
Alan Jebakumar
fonte