コントロールパネルでプロキシ設定を編集すると、設定はHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable
と...\ProxyServer
に保存されます。もちろん、これらの設定は、LOCAL SYSTEM
でサービスとして実行する場合は使用されません。
そのため、HKEY_USERS\S-1-5-18\...
の下にProxyEnable
とProxyServer
を設定しようとしました(HKEY_USERS\.DEFAULT\...
とシステム上の他のすべてのユーザーも同様です)が、機能しません。
LOCAL SYSTEM
ユーザーのプロキシ設定を設定するにはどうすればよいですか?
それを自分で考え出した:
実際に使用されるのは、Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings
の値です。
これは簡単に変更できないため、ユーザーのプロキシ設定を変更し、レジストリキーをエクスポートし、エクスポートされたファイルのパスをHKEY_USERS\S-1-5-18
に変更して、再インポートできます。
IEプロキシ設定をWinHttpにコピーします。
管理者としてcmd
を実行します。
netsh winhttp show proxy
netsh winhttp import proxy source =ie
もう少し面倒ですが、ローカルシステムとして実行されている psexecを使用してコマンドプロンプトを開く を使用し、開いているiexplore.exeから設定を適切に変更する方法もあります。
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:8 "/fを追加します
WinHTTP呼び出しのプロキシを設定する ProxyCFG.EXE を使用してみてください。
同じことはこのようにしてはるかに簡単に行うことができます-
& C:\windows\System32\bitsadmin.exe /Util /SetIEProxy LocalSystem Manual_proxy http://<proxyserver>:<proxy port> "<Any bypasses to be added>"