Пакетный файл для отключения интернет-прокси-сервера

В Windows я хочу отключить параметр прокси-сервера в Свойства обозревателя с помощью пакета Script. Какую команду я могу использовать для этого?

Если вы не знаете, что я имею в виду, см.

Internet Properties > Connections > LAN Settings >Proxy Server

Спасибо

Ответ 1

Это в реестре под [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]

вы можете либо использовать команду REG в вашей BAT, либо подготовить пару файлов .REG, чтобы автоматизировать изменения.

например, чтобы отключить прокси, попробуйте

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

Ответ 2

Вот способ использования простого скрипта .vbs в качестве ярлыка типа "виджет" на рабочем столе. При первом запуске сценария щелкните созданный вами файл .vbs. Это автоматически создаст для вас ярлык на рабочем столе с соответствующим значком. После этого каждый раз, когда вы нажимаете на ярлык, он переключает настройку прокси, вызывает всплывающее временное окно на 1 секунду, чтобы сообщить вам, включен ли прокси сейчас или выключен, и меняет значок ярлыка на символ ON или OFF, чтобы указать новый прокси. государство.

Файл: "C:\Users\YOUR_USERNAME\Настройки прокси \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) /questions/409850/batch-file-to-disable-internet-options-proxy-server/1842197#1842197 
' 2) /questions/409851/windows-desktop-widget-to-turn-proxy-on-and-off/1842198#1842198 
' Timed message boxes:
' - *****https://technet.microsoft.com/en-us/library/ee156593.aspx
' - /questions/409853/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\Настройки прокси\Значки"
  4. Загрузите следующие два .png изображения:
  5. Преобразуйте эти изображения в значки (файлы .ico), например, используя http://icoconvert.com/. Выберите Файл (выберите .png сверху) → Загрузить → выберите формат "ICO для Windows 7, Windows 8, Vista и XP" → нажмите "Преобразовать ICO" → нажмите "Загрузить значок (и) )"
    • Сохраните значок ВКЛ как "C:\Users\YOUR_USERNAME\Настройки прокси \Icons\on.ico"
    • Сохраните значок ВЫКЛ как "C:\Users\YOUR_USERNAME\Настройки прокси \Icons\off.ico"
  6. Теперь дважды щелкните файл "C:\Users\Gabriel\Proxy Settings\toggle_proxy_on_off.vbs", чтобы запустить его. Он автоматически создаст файл ярлыка "Proxy On-Off" на рабочем столе с соответствующим значком, чтобы указать, включен ли Proxy или выключен.

С этого момента, просто нажмите на ярлык "Proxy On-Off" на рабочем столе, чтобы включить или выключить Proxy.

Вот как это выглядит, когда прокси выключен:

enter image description here

Вот как это выглядит, когда прокси включен:

enter image description here

Вот пример 1-секундного всплывающего окна, которое появляется всякий раз, когда вы щелкаете по значку ярлыка для включения/выключения прокси.

enter image description here

Рекомендации:

  1. fooobar.com/questions/409850/... <- научил меня, как использовать скрипт .vbs для включения и выключения прокси
  2. fooobar.com/questions/409851/... <- научил меня гениальному приему того, как заставить скрипт .vbs действовать как виджет, создав ярлык Windows и меняя его значок при каждом нажатии на него
  3. Приуроченные сообщения:

Сделать:

Может кто-нибудь помочь мне разобраться, как усовершенствовать этот шаг еще дальше, заставляя каждый раз менять имя значка? --ie: вместо того, чтобы говорить "Proxy On-Off" на ярлыке, пусть он говорит "Proxy включен" или "Прокси выключен", в соответствии с его текущим состоянием. Я не уверен, как сделать еще один шаг вперед, и сейчас я уделил этому достаточно времени...

Ответ 3

Включить и выключить прокси с помощью .vbs

Этот .vbs MS Script Определите текущую настройку прокси-сервера и переключитесь на опписе очень удобно, если вы хотите включить и выключить прокси.

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

Ответ 4

Internet Explorer и Google Chrome оба имеют одинаковые настройки прокси. Поэтому, если мы изменим настройку в Internet Explorer, это также повлияет на Google Chrome. Мы можем изменить настройку прокси-сервера из 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

Ответ 5

Отключить прокси

REG ДОБАВИТЬ "HKCU\Программное обеспечение\Microsoft\Windows\CurrentVersion\Настройки Интернета"/v ProxyEnable/t REG_DWORD/d 0/f

Включить прокси

рег добавьте "HKCU\Программное обеспечение\Microsoft\Windows\CurrentVersion\Настройки Интернета" ^/v ProxyEnable/t REG_DWORD/d 1/f

Установите прокси

рег добавьте "HKCU\Программное обеспечение\Microsoft\Windows\CurrentVersion\Настройки Интернета" ^/v ProxyServer/t REG_SZ/d ProxyServerIP: Порт /f

Ответ 6

Спасибо за ответ от @Gabriel Staples fooobar.com/info/409850/...

Просто сделайте сначала шаги,

но есть две вещи, которые нужно наблюдать:

1, как @afxentios сказал в комментарии:

A correction is needed. Add the line: ProxySettings_path = "C:\Users\" + username + >"\Proxy Settings" under the line username = >WSHShell.ExpandEnvironmentStrings("%USERNAME%") и remove the hard coded path.

Исправить шаги

а) Поместите эту строку в toggle_proxy_on_off.vbs под строкой 26:

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

b) Удалить строку 18 ProxySettings_path = "C:\Users\Gabriel\Настройки прокси".

2. Вы увидите, что скрипт действительно обновит реестр, но он не будет работать, пока вы не откроете/не закроете IE один раз. Поэтому я нашел ответ здесь: fooobar.com/info/611265/...

Исправить шаги

а) Скопируйте сценарий удара и сохраните в 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

б) Поместите файл Refresh-System.ps1 в "C:\Users\YOUR_USERNAME\Настройки прокси"

c) Добавьте эту строку в toggle_proxy_on_off.vbs в поле "End If" (около строки 35)

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

Скрипт будет работать без IE.

.

Но теперь, когда скрипт vbs вызывает скрипт powershell, окно powershell появится на короткое время.

Кто знает как настроить окно powershell так и не показывать? пожалуйста, добавьте комментарий.