Как мне настроить параметры прокси для локальной системы?

22

Если я редактирую настройки прокси через панель управления, настройки сохраняются в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnableи ...\ProxyServer. Эти настройки, конечно, не используются при запуске в качестве службы под LOCAL SYSTEM.

Поэтому я попытался установить ProxyEnableи ProxyServerпод HKEY_USERS\S-1-5-18\...(как HKEY_USERS\.DEFAULT\...и все другие пользователи в системе), но это не работает.

Как настроить параметры прокси для LOCAL SYSTEMпользователя?

Расмус Фабер
источник

Ответы:

21

Сам разобрался

Это на самом деле значение в Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettingsтом, что используется.

Поскольку это нелегко изменить, вы можете изменить параметры прокси-сервера для пользователя, экспортировать раздел реестра, изменить путь в экспортируемом файле HKEY_USERS\S-1-5-18и повторно импортировать его.

Расмус Фабер
источник
Это решило мою проблему, большое спасибо! В итоге я написал класс Java для управления шестнадцатеричной строкой DefaultConnectionSettings, так как мне нужно было программно установить прокси.
Эндрю Свон
Может ли это работать, если требуется аутентификация?
Рауль Салинас-Монтеагудо
11

Скопируйте настройки прокси IE в WinHttp:

  • Запуск cmdот имени администратора:

    • netsh winhttp show proxy

    • netsh winhttp import proxy source =ie

TomazZ
источник
3
Один лайнер :netsh winhttp import proxy source =ie
Вадим
6

Другой способ, хотя и намного более сложный, - это использовать psexec, чтобы открыть командную строку, работающую как LOCAL SYSTEM, а затем из этого открытого iexplore.exe изменить параметры соответствующим образом.

Рори
источник
PsExec.exe -i -s regedit /s "%~dp0Internet Settings.reg"
Вадим
1

Возможно, вы захотите попробовать использовать ProxyCFG.EXE , который устанавливает прокси для любых вызовов WinHTTP.

Christopher_G_Lewis
источник
В каких версиях Windows есть ProxyCFG.EXE? Это не в Windows 7, например. Кроме того, IE использует WinHTTP?
Эндрю Свон
1
В Windows 7 / Win 2008 R2 NetSH.exe используется для всех настроек прокси-сервера: technet.microsoft.com/en-us/library/cc731131(WS.10).aspx
Christopher_G_Lewis
1

Reg добавьте «HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings» / v «ProxyEnable» / t REG_DWORD / d «0» / f

Reg добавьте "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings" / v "ProxyServer" / t REG_SZ / d " http: //procycorp.bac: 80 " / f

user319684
источник
1
Это действительно работает сейчас? 7 лет назад, когда я в последний раз пытался это сделать, он просто изменил значения в реестре, но вам пришлось изменить Connections \ DefaultConnectionSettings, чтобы фактически заставить Windows использовать прокси-сервер.
Расмус Фабер
Это устанавливает текущего пользователя (CU в HKCU), а не пользователя локальной системы.
Ральф Болтон
1

То же самое можно сделать гораздо проще

& C:\windows\System32\bitsadmin.exe /Util /SetIEProxy LocalSystem Manual_proxy http://<proxyserver>:<proxy port> "<Any bypasses to be added>"
Алан Джебакумар
источник