設定を自動的に検出する(オン・オフ) powershell
# 自動検出を有効化 Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name AutoDetect -Value 1
# 自動検出を無効化 Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name AutoDetect -Value 0
powershell
# セットアップスクリプトを有効化し、アドレスを設定 Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name AutoConfigURL -Value "http://example.com/proxy.pac"
# セットアップスクリプトを無効化 Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name AutoConfigURL
プロキシサーバを使用(オン・オフ) powershell
# プロキシサーバを有効化 Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 1
# プロキシサーバを無効化 Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 0
プロキシIPアドレスとポートの設定 powershell
# プロキシアドレスとポートを設定 (例: 192.168.1.100:8080) Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyServer -Value "192.168.1.100:8080"
プロキシを使用しないアドレスの設定
powershell
# プロキシを使用しないアドレスを設定 (例: *.example.com;localhost) Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyOverride -Value "*.example.com;localhost"
現在のプロキシ設定を確認するには以下のコマンドを使用します。
powershell
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
3. ネットワーク全体のプロキシ設定を変更する場合(netshを使用)
プロキシを設定する powershell
# プロキシを設定 (例: 192.168.1.100:8080) netsh winhttp set proxy 192.168.1.100:8080
プロキシをリセットする powershell
netsh winhttp reset proxy
これらの方法を使用すれば、PowerShellを通じてプロキシ設定を簡単に管理できます。
対象のユーザのSIDを取得 各ユーザの設定はそのユーザのSID(セキュリティ識別子)に基づいて保存されています。SIDを取得するには以下のコマンドを使用します。
powershell
Get-WmiObject Win32_UserAccount | Where-Object { $_.Name -eq "対象のユーザ名" } | Select-Object SID
例: ユーザ名が TestUser の場合:
powershell
Get-WmiObject Win32_UserAccount | Where-Object { $_.Name -eq "TestUser" } | Select-Object SID
結果に表示されるSID(例: S-1-5-21-1234567890-1234567890-1234567890-1001)をメモしてください。
対象のユーザのレジストリパスを編集 ユーザのプロキシ設定は次のレジストリパスに保存されています:
php
HKEY_USERS\<ユーザのSID>\Software\Microsoft\Windows\CurrentVersion\Internet Settings
プロキシ設定を変更するスクリプト例:
powershell
# 対象ユーザのSID
$sid = "S-1-5-21-1234567890-1234567890-1234567890-1001"
# プロキシを有効化
Set-ItemProperty -Path "HKU:\$sid\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 1
# プロキシサーバを設定 (例: 192.168.1.100:8080)
Set-ItemProperty -Path "HKU:\$sid\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyServer -Value "192.168.1.100:8080"
# プロキシ例外を設定 (例: *.example.com;localhost)
Set-ItemProperty -Path "HKU:\$sid\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyOverride -Value "*.example.com;localhost"
対象のユーザが自動プロキシ設定を使用する場合 自動プロキシ設定(PACファイル)を使用するには以下を追加します。
powershell
# 自動プロキシスクリプトを設定 (例: http://example.com/proxy.pac)
Set-ItemProperty -Path "HKU:\$sid\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name AutoConfigURL -Value "http://example.com/proxy.pac"
# 自動検出を有効化
Set-ItemProperty -Path "HKU:\$sid\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name AutoDetect -Value 1
設定が反映されるようにする レジストリ設定を変更した後、対象のユーザに設定を適用するにはそのユーザがログイン中である必要があります。ログインしていない場合は、次回ログイン時に適用されます。
注意点 必ず管理者権限でPowerShellを実行してください。 SIDを間違えると別のユーザの設定を変更してしまう可能性があるため、慎重に操作してください。 設定変更後に再起動やログオフ・ログオンが必要になる場合があります。 この方法で特定のユーザのプロキシ設定を管理者権限で編集することが可能です。