こんにちはやまぱんです。
大昔に書こうとおもっていたWindowsのプロキシ設定について備忘録としてメモします。
Contents
Windowプロキシの種類
Winhttp プロキシ
いわゆる windows update につかわれるプロキシ
WinInet プロキシ
いわゆるブラウザやOS設定でのプロキシ設定
下記それぞれにWinInetプロキシがある:レジストリの値で確認可能
- ユーザアカウント
- システムアカウント
- サービスアカウント
(アプリケーションによっては専用のサービスアカウントができるのでそれ用に設定が必要、PowerShellで実施)
アプリケーションに設定するプロキシ
いわゆるアプリケーションの固有の設定画面から設定できるアプリケーションもある。
アプリケーション次第です。
プロキシ設定確認方法
Winhttp プロキシ 確認方法
cmd か PowerShellで下記コマンドを打てば確認可能。
netsh winhttp show proxy
WinInetプロキシ 確認方法
既に述べたように WinInet プロキシ にはアカウント毎に設定が必要
プロキシ経由にしたいアプリケーション・プロキシがどのアカウントでアカウントで動いているかを確認する必要がある
プロセスがどのアカウントで動いているか
どのプロセスがどのアカウントで動いているかは "タスクマネージャ"ー → "詳細" を表示すれば確認可能(下記の場合 vainf はユーザーアカウント、SYSTEMはシステムアカウント)
または、cmd
か PowerShell
で下記コマンドを打つことでも確認可能
tasklist -v
ユーザー名 N/A のものもタスクマネージャーで見るとSYSTEMとなっているプロセス。
*経験の浅いときにやってみるかーの精神で(普通にユーザーアカウントで)OSのプロキシ設定を開いて設定するとユーザーアカウントのプロキシ設定になる。
(カレント)ユーザーアカウントのプロキシ設定確認
OSのプロキシ設定を確認するか、PowerShellで下記のコマンドを実行すれば可能
-
OSからの確認
- コマンドでの確認
$currentUserIESettings = Get-Item -Path 'Registry::HKEY_Current_User\Software\Microsoft\Windows\CurrentVersion\Internet Settings'
Write-Host "ProxyEnable:" $($currentUserIESettings.GetValue('ProxyEnable'))
Write-Host "ProxyServer:" $($currentUserIESettings.GetValue('ProxyServer'))
Write-Host "ProxyOverride:" $($currentUserIESettings.GetValue('ProxyOverride'))
ProxyEnable: 0 なので無効になっている。
システムアカウントのプロキシ設定確認
$localSystemUserIESettings = Get-Item -Path 'Registry::HKEY_USERS\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Internet Settings'
Write-Host "ProxyEnable:" $($localSystemUserIESettings.GetValue('ProxyEnable'))
Write-Host "ProxyServer:" $($localSystemUserIESettings.GetValue('ProxyServer'))
Write-Host "ProxyOverride:" $($localSystemUserIESettings.GetValue('ProxyOverride'))
サービスアカウントのプロキシ設定確認
これはものによるので割愛です。
下記参考にレジストリの値が分かれば同じようにだせるはず。
-
カレントユーザーアカウントのレジストリ
'Registry::HKEY_Current_User\Software\Microsoft\Windows\CurrentVersion\Internet Settings' - システムアカウントユーザーのレジストリ
'Registry::HKEY_USERS\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Internet Settings'
アプリケーションに設定するプロキシの設定確認
いわゆるアプリケーションの固有の設定画面ら行う。
アプリケーション次第