25

If I edit Proxy Settings through the Control Panel, the settings are stored in HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable and ...\ProxyServer. These settings are of course not used when running as a service under LOCAL SYSTEM.

So I tried setting ProxyEnable and ProxyServer under HKEY_USERS\S-1-5-18\... (as well as HKEY_USERS\.DEFAULT\... and all the other users on the system), but that does not work.

How do I set the proxy settings for the LOCAL SYSTEM user?

22

Figured it out myself:

It is actually the value in Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings that is used.

Since that is not easily modified, you can modify the proxy settings for a user, export the registry key, modify the path in the exported file to HKEY_USERS\S-1-5-18 and reimport it.

| improve this answer | |
  • This solved my problem, many thanks! I ended up writing a Java class to manipulate the DefaultConnectionSettings hex string, as I needed to set the proxy programmatically. – Andrew Swan Nov 29 '10 at 4:30
  • Can this work if authentication is required? – Raúl Salinas-Monteagudo May 7 '19 at 7:15
14

First, run cmd as administrator to open a command prompt.

Command to copy proxy settings of current user to WinHttp:

netsh winhttp import proxy source =ie

To reset the proxy to default settings:

netsh winhttp reset proxy

To show proxy settings of current user:

netsh winhttp show proxy
| improve this answer | |
  • 4
    One liner: netsh winhttp import proxy source =ie – Vadzim May 22 '17 at 7:28
7

Another way, albeit much messier, is to use psexec to open a command prompt running as LOCAL SYSTEM, then from that open iexplore.exe, modify the settings appropriately.

| improve this answer | |
  • PsExec.exe -i -s regedit /s "%~dp0Internet Settings.reg" – Vadzim May 22 '17 at 7:26
1

You might want to try using ProxyCFG.EXE, which sets the proxy for any WinHTTP calls.

| improve this answer | |
1

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 "http://procycorp.bac:80" /f

| improve this answer | |
  • 1
    Does that actually work now? 7 years ago when I last tried this, it just changed the values in the registry, but you had to change Connections\DefaultConnectionSettings to actually get Windows to use the procy server. – Rasmus Faber Oct 31 '15 at 6:29
  • This sets the current user (CU in HKCU), so not the local system user. – Ralph Bolton Jan 17 '19 at 14:45
1

The Same thing can be done much easier in this way-

& C:\windows\System32\bitsadmin.exe /Util /SetIEProxy LocalSystem Manual_proxy http://<proxyserver>:<proxy port> "<Any bypasses to be added>"
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.