web-dev-qa-db-ja.com

インターネットオプションプロキシサーバーを無効にするバッチファイル

Windowsでは、バッチスクリプトを使用してインターネットオプションのプロキシサーバー設定を無効にします。これを行うためにどのコマンドを使用できますか?

私が何を言っているのかわからない場合は、

Internet Properties > Connections > LAN Settings >Proxy Server

ありがとうございました

17
DextrousDave

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]の下のレジストリにあります

bATでREGコマンドを使用するか、いくつかの.REGファイル。変更を自動化します。

たとえば、プロキシを無効にするには、試してください

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
19
PA.

シンプルな.vbsスクリプトを「ウィジェット」タイプのデスクトップショートカットとして使用する方法を次に示します。スクリプトを初めて実行するときは、作成する.vbsファイルをクリックします。これにより、適切なアイコンを備えたデスクトップショートカットが自動的に生成されます。その後、ショートカットをクリックするたびに、プロキシ設定が切り替わり、プロキシが[〜#〜] on [〜#〜]または[〜#〜] off [〜#〜]今、ショートカットアイコンをONまたはOFFに変更新しいプロキシ状態を示す記号。

ファイル: "C:\ Users\YOUR_USERNAME\Proxy Settings\toggle_proxy_on_off.vbs"

'Toggle your Proxy on and off 
'Gabriel Staples - www.ElectricRCAircraftGuy.com
'Written: 21 June 2017 
'Updated: 25 June 2017 
'References: 
' 1) https://stackoverflow.com/a/27092872/4561887 
' 2) https://stackoverflow.com/a/26708451/4561887 
' Timed message boxes:
' - *****https://technet.Microsoft.com/en-us/library/ee156593.aspx
' - https://stackoverflow.com/questions/14105157/automatically-close-msgbox-in-vbscript
' Debug output:
' - ex: Wscript.Echo "here is your message"

Option Explicit 

'Variables & Constants:
Dim ProxySettings_path, VbsScript_filename 
ProxySettings_path = "C:\Users\Gabriel\Proxy Settings"
VbsScript_filename = "toggle_proxy_on_off.vbs"
Const MESSAGE_BOX_TIMEOUT = 1 'sec; change this value to set how long the message box displays when you toggle the proxy setting 
Const PROXY_OFF = 0

Dim WSHShell, proxyEnableVal, username 
Set WSHShell = WScript.CreateObject("WScript.Shell")
'get the username string for use in path names, since trying to use the "%USERNAME%" variable directly in path names throws an error
username = WSHShell.ExpandEnvironmentStrings("%USERNAME%") 

'Determine current proxy setting and toggle to opposite setting
proxyEnableVal = wshshell.regread("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable")
If proxyEnableVal = PROXY_OFF Then 
  TurnProxyOn
Else
  TurnProxyOff
End If

'Subroutine to Toggle Proxy Setting to ON
Sub TurnProxyOn 
  'turn proxy on via a registry entry 
  WSHShell.regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", 1, "REG_DWORD"
  'create/update desktop shortcut 
  CreateOrUpdateDesktopShortcut("on")
  'notify user via an auto-timed popup box 
  WSHShell.Popup "Internet proxy is now ON", MESSAGE_BOX_TIMEOUT, "Proxy Settings"
End Sub

'Subroutine to Toggle Proxy Setting to OFF
Sub TurnProxyOff 
  'turn proxy off via a registry entry 
  WSHShell.regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", 0, "REG_DWORD"
  'create/update desktop shortcut 
  CreateOrUpdateDesktopShortcut("off")
  'notify user via an auto-timed popup box 
  WSHShell.Popup "Internet proxy is now OFF", MESSAGE_BOX_TIMEOUT, "Proxy Settings"
End Sub

'Subroutine to create or update a shortcut on the desktop 
Sub CreateOrUpdateDesktopShortcut(onOrOff)
  'create a shortcut 
  Dim shortcut, iconStr
  Set shortcut = WSHShell.CreateShortcut("C:\Users\" + username + "\Desktop\Proxy On-Off.lnk")
  'Set the target path (target file) to run when the shortcut is clicked 
  shortcut.TargetPath = ProxySettings_path + "\" + VbsScript_filename
  'Set the working directory. This is necessary in case you ever make this shortcut call a batch (.bat) file, for instance, which in turn calls a .vbs script. In order to know where the .vbs script file/command is located, the shortcut must be operating in the working directory where the .vbs scripts are located. Otherwise, calls to the .vbs scripts from a .bat file this shortcut points to, for instance, won't work since their directories are not in the Windows %PATH% variable, and you'll get an error which states: "'name_of_vbs_script_file' is not recognized as an internal or external command, operable program or batch file."
  shortcut.WorkingDirectory = ProxySettings_path 
  'Set the icon to associate with this shortcut 
  If onOrOff = "on" Then
    iconStr = "on.ico"
  ElseIf onOrOff = "off" Then
    iconStr = "off.ico"
  End If 
  shortcut.IconLocation = ProxySettings_path + "\Icons\" + iconStr
  'Save the shortcut 
  shortcut.Save
End Sub 

手順:

  1. 「C:\ Users\YOUR_USERNAME\Proxy Settings」というフォルダを作成します
  2. 上記のように、そのフォルダーに「toggle_proxy_on_off.vbs」ファイルを作成します。
  3. ここに「アイコン」フォルダを作成します:「C:\ Users\YOUR_USERNAME\Proxy Settings\Icons」
  4. 次の2つの.png画像をダウンロードします。
  5. たとえば、 http://icoconvert.com/ を使用して、これらの画像をアイコン(.icoファイル)に変換します。ファイルを選択(上記から.pngを選択)->アップロード->「Windows 7、Windows 8、Vista、およびXPのICO」形式を選択->「ICOの変換」をクリック->「アイコンのダウンロード」をクリック) "
    • ONアイコンを「C:\ Users\YOUR_USERNAME\Proxy Settings\Icons\on.ico」として保存します
    • OFFアイコンを「C:\ Users\YOUR_USERNAME\Proxy Settings\Icons\off.ico」として保存します
  6. 次に、「C:\ Users\Gabriel\Proxy Settings\toggle_proxy_on_off.vbs」ファイルをダブルクリックして実行します。プロキシがオンかオフかを示す適切なアイコンを使用して、デスクトップに「プロキシオン/オフ」ショートカットファイルを自動的に作成します。

この時点から、[プロキシのオン/オフ]デスクトップショートカットをクリックするだけで、プロキシのオンとオフを切り替えることができます。

プロキシがオフの場合、次のようになります。

enter image description here

プロキシがオンの場合、次のようになります。

enter image description here

以下に、ショートカットアイコンをクリックしてプロキシのオン/オフを切り替えるたびに表示される1秒のポップアップウィンドウの例を示します。

enter image description here

参照:

  1. https://stackoverflow.com/a/27092872/4561887 <-.vbsスクリプトを使用してプロキシのオンとオフを切り替える方法を教えてくれました
  2. https://stackoverflow.com/a/26708451/4561887 <-Windowsショートカットを作成して、.vbsスクリプトをウィジェットのように動作させる方法に関する独創的なテクニックを教えてくれましたクリックするたびにアイコンを変更します
  3. 時限メッセージボックス:

Todo:

誰かがアイコン名も毎回変更することでこれをさらに強化する方法を見つけるのを手伝ってもらえますか? 、現在の状態に応じて「プロキシがオン」または「プロキシがオフ」と言ってください。さらに一歩先を行く方法がわからないので、今のところ十分な時間を...

11
Gabriel Staples

。vbsでプロキシを有効にするonおよびoff

この.vbs MSスクリプト現在のプロキシ設定を決定し、プロキシをオンまたはオフにしたい場合に非常に便利なoppisite設定に切り替えます

Option Explicit 
Dim WSHShell, strSetting
Set WSHShell = WScript.CreateObject("WScript.Shell")

'Determine current proxy setting and toggle to oppisite setting
strSetting = wshshell.regread("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable")
If strSetting = 1 Then 
NoProxy
Else Proxy
End If

'Subroutine to Toggle Proxy Setting to ON
Sub Proxy 
WSHShell.regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", 1, "REG_DWORD"
End Sub

'Subroutine to Toggle Proxy Setting to OFF
Sub NoProxy 
WSHShell.regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", 0, "REG_DWORD"
End Sub
10
BOB

Internet ExplorerとGoogle chromeは両方とも同じプロキシ設定を共有します。InternetExplorerの設定を変更すると、Googleクロムにも影響します。プロキシ設定はCMD(コマンドラインプロンプト)から変更できます。

プロキシ設定を無効にします。

@ECHO OFF

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f

プロキシ設定を有効にします。

@ECHO OFF

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t REG_SZ /d address:portNumber /f

address:新しいプロキシアドレス
portNumber:ポート番号

コマンドをバッチファイルに保存して実行します。ブラウザのプロキシ設定を無効/有効にします。

私はこの答えを見つけました: http://langbasics.blogspot.in/2012/11/disable-or-enable-proxy-for-internet.html

7
Vikky Jain

プロキシを無効にします

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 ProxyEnable/t REG_DWORD/d 1/f

プロキシを設定する

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^/v ProxyServer/t REG_SZ/d ProxyServerIP:Port/f

1
EKNATH KULKARNI

@Gabriel Staplesからの回答に感謝します https://stackoverflow.com/a/44752679/6070417

最初に手順を実行するだけで、

ただし、次の2つの点に注意する必要があります。

1、@ afxentiosがコメントで言ったように:

修正が必要です。行を追加します:ProxySettings_path = "C:\ Users \" +ユーザー名+> "\ Proxy Settings"行username => WSHShell.ExpandEnvironmentStrings( "%USERNAME%")の下に、ハードコーディングされたパスを削除します。

手順を修正

a)次の行をtoggle_proxy_on_off.vbsの26行目に追加します。

ProxySettings_path = "C:\Users\" + username + "\Proxy Settings"

b)18行目ProxySettings_path = "C:\ Users\Gabriel\Proxy Settings"を削除します。

2、スクリプトは実際にレジストリを更新しますが、開くか閉じるまで機能しませんIE一度。ここで答えを見つけました: https:// stackoverflow.com/a/39079005/6070417

手順を修正

a)スクリプトblowをコピーして、Refresh-System.ps1に保存します

function Refresh-System
{
  $signature = @'
[DllImport("wininet.dll", SetLastError = true, CharSet=CharSet.Auto)]
public static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength);
'@

$INTERNET_OPTION_SETTINGS_CHANGED   = 39
$INTERNET_OPTION_REFRESH            = 37
$type = Add-Type -MemberDefinition $signature -Name wininet -Namespace pinvoke -PassThru
$a = $type::InternetSetOption(0, $INTERNET_OPTION_SETTINGS_CHANGED, 0, 0)
$b = $type::InternetSetOption(0, $INTERNET_OPTION_REFRESH, 0, 0)
return $a -and $b
}
Refresh-System

b)ファイルRefresh-System.ps1を「C:\ Users\YOUR_USERNAME\Proxy Settings」に配置します

c)「End If」の下のtoggle_proxy_on_off.vbsにこの行を追加します(35行目について)

WSHShell.run("powershell -windowstyle hidden -file """ + ProxySettings_path + "\Refresh-System.ps1""")

スクリプトはIEなしでも機能します。

しかし、vbsスクリプトがpowershellスクリプトを呼び出すと、powershellウィンドウが少しの間表示されます。

PowerShellウィンドウを表示しないように設定する方法を知っているのは誰ですか?コメントを追加してください。

0
YOUNG