19

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

私が何を指しているのか不明な場合は、参照してください

Internet Properties > Connections > LAN Settings >Proxy Server

ありがとうございました

4

8 に答える 8

20

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

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

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

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
于 2013-08-26T08:07:02.457 に答える
14

2021 年 5 月 25 日の更新: アイコンと最新のスクリプトを今すぐ GitHub リポジトリから入手してください: Windows_Proxy_Toggler。そこにある非常に簡単なインストール手順も参照してください。


これは、単純な .vbs スクリプトを「ウィジェット」タイプのデスクトップ ショートカットとして使用する方法です。スクリプトを初めて実行する場合は、作成した .vbs ファイルをクリックします。これにより、適切なアイコンが付いたデスクトップ ショートカットが自動的に生成されます。その後ショートカットをクリックするたびに、プロキシ設定が切り替わり、プロキシが現在オンオフかを示すポップアップボックスが 1 秒間表示され、ショートカットアイコンがオンまたはオフの記号に変わり、新しいプロキシが示されます。州。

ファイル: "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 画像をダウンロードします (更新: リンク切れ -代わりに 、私の GitHub リポジトリからアイコンとスクリプトを入手してください)。
  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」ファイルをダブルクリックして実行します。デスクトップに「プロキシ オン/オフ」ショートカット ファイルが自動的に作成され、プロキシがオンかオフかを示す適切なアイコンが表示されます。

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

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

ここに画像の説明を入力

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

ここに画像の説明を入力

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

ここに画像の説明を入力

参考文献:

  1. インターネット オプション プロキシ サーバーを無効にするバッチ ファイル<-- .vbs スクリプトを使用してプロキシのオンとオフを切り替える方法を教えてくれました
  2. プロキシのオンとオフを切り替える Windows デスクトップ ウィジェット<-- Windows ショートカットを作成し、クリックするたびにそのアイコンを変更することで、.vbs スクリプトをウィジェットのように機能させる方法に関する独創的なテクニックを教えてくれました。
  3. 時限メッセージボックス:

トド:

アイコン名を毎回変更することで、これをさらに 1 段階強化する方法を教えてください。つまり、ショートカットで「プロキシのオン/オフ」と言う代わりに、「プロキシがオン」と言うようにします。または、現在の状態に応じて「プロキシはオフです」。それをさらに一歩進める方法がわからないので、今のところ十分な時間を費やしています...

于 2017-06-26T03:15:39.707 に答える
11

.vbs でプロキシのオンオフを切り替える

この .vbs MS スクリプトは、現在のプロキシ設定を決定し、反対の設定に切り替えると、プロキシのオンとオフを切り替える場合に非常に便利です

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
于 2014-11-23T18:50:45.020 に答える