it-swarm.com.de

Batch-Datei zum Deaktivieren des Proxy-Servers für Internetoptionen

In Windows möchte ich die Proxy Server-Einstellung in Internetoptionen mithilfe eines Batch-Skripts deaktivieren. Welchen Befehl kann ich dazu verwenden?

Wenn Sie sich nicht sicher sind, worauf ich mich beziehe, lesen Sie

Internet Properties > Connections > LAN Settings >Proxy Server

Vielen Dank

17
DextrousDave

Es befindet sich in der Registrierung unter [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]

sie können entweder den Befehl REG in Ihrem BAT verwenden oder ein paar .REG Dateien, um die Änderungen zu automatisieren.

versuchen Sie beispielsweise, Proxy zu deaktivieren

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

Hier ist eine Möglichkeit, ein einfaches .vbs-Skript als Desktop-Verknüpfung vom Typ "Widget" zu verwenden. Wenn Sie das Skript zum ersten Mal ausführen möchten, klicken Sie auf die von Ihnen erstellte VBS-Datei. Dadurch wird automatisch eine Desktop-Verknüpfung mit einem entsprechenden Symbol erstellt. Jedes Mal, wenn Sie danach auf die Verknüpfung klicken, wird die Proxy-Einstellung umgeschaltet. Es wird 1 Sekunde lang ein zeitgesteuertes Popup-Fenster angezeigt, in dem angezeigt wird, ob der Proxy AUF oder - ist. OFF now und ändert das Verknüpfungssymbol in ein EIN- oder AUS-Symbol, um den neuen Proxy-Status anzuzeigen.

Datei: "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 

Anleitung:

  1. Erstellen Sie einen Ordner mit dem Namen "C:\Users\YOUR_USERNAME\Proxy Settings".
  2. Erstellen Sie die Datei "toggle_proxy_on_off.vbs" (siehe oben) in diesem Ordner.
  3. Erstellen Sie hier einen Ordner "Icons": "C:\Users\YOUR_USERNAME\Proxy Settings\Icons"
  4. Laden Sie die folgenden zwei PNG-Bilder herunter:
  5. Konvertieren Sie diese Bilder beispielsweise mit http://icoconvert.com/ in Icons (.ico-Dateien). Wählen Sie Datei (wählen Sie eine .png von oben) -> Hochladen -> wählen Sie das Format "ICO für Windows 7, Windows 8, Vista und XP" -> klicken Sie auf "ICO konvertieren" -> klicken Sie auf "Symbol (e) herunterladen" ) "
    • Speichern Sie das ON-Symbol als "C:\Users\YOUR_USERNAME\Proxy Settings\Icons\on.ico"
    • Speichern Sie das AUS-Symbol als "C:\Users\YOUR_USERNAME\Proxy Settings\Icons\off.ico"
  6. Doppelklicken Sie nun auf die Datei "C:\Users\Gabriel\Proxy Settings\toggle_proxy_on_off.vbs", um sie auszuführen. Es wird automatisch eine "Proxy On-Off" -Verknüpfungsdatei auf Ihrem Desktop erstellt. Das entsprechende Symbol gibt an, ob der Proxy aktiviert oder deaktiviert ist.

Von diesem Punkt an klicken Sie einfach direkt auf die Desktop-Verknüpfung "Proxy On-Off", um den Proxy ein- und auszuschalten.

So sieht es aus, wenn der Proxy ausgeschaltet ist:

enter image description here

So sieht es aus, wenn der Proxy eingeschaltet ist:

enter image description here

Hier ist ein Beispiel für das 1-Sekunden-Popup-Fenster, das angezeigt wird, wenn Sie auf das Verknüpfungssymbol klicken, um den Proxy ein- oder auszuschalten.

enter image description here

Verweise:

  1. https://stackoverflow.com/a/27092872/4561887 <- hat mir beigebracht, wie man mit einem .vbs-Skript den Proxy ein- und ausschaltet
  2. https://stackoverflow.com/a/26708451/4561887 <- hat mir die ausgeklügelte Technik beigebracht, wie man ein .vbs-Skript wie ein Widget verhält, indem man eine Windows-Verknüpfung erstellt und jedes Symbol ändert Mal, wenn Sie darauf klicken
  3. Zeitgesteuerte Nachrichtenfelder:

Machen:

Kann mir bitte jemand helfen, herauszufinden, wie ich diesen Schritt weiter verbessern kann, indem ich den Namen des Symbols jedes Mal ändere? Proxy ist EIN "oder" Proxy ist AUS ", je nach aktuellem Status. Ich bin mir nicht sicher, wie ich es noch einen Schritt weiter bringen soll, und ich habe vorerst genug Zeit darauf verwendet ...

11
Gabriel Staples

Proxy aktivieren und deaktivieren mit einem .vbs

Dieses .vbs-MS-Skript Ermitteln Sie die aktuelle Proxy-Einstellung und wechseln Sie zur entgegengesetzten Einstellung. Dies ist sehr praktisch, wenn Sie den Proxy ein- und ausschalten möchten

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 und Google chrome haben beide die gleichen Proxy-Einstellungen. Wenn wir also die Einstellungen im Internet Explorer ändern, hat dies auch Auswirkungen auf Google Chrome. Wir können die Proxy-Einstellungen über CMD (Eingabeaufforderung) ändern.

Proxy-Einstellung deaktivieren:

@ECHO OFF

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

Proxy-Einstellung aktivieren:

@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: Neue Proxy-Adresse
portNumber: Portnummer

Speichern Sie die Befehle in einer Batch-Datei und führen Sie sie aus. Dadurch wird die Proxy-Einstellung für den Browser deaktiviert/aktiviert.

Ich fand diese Antwort unter: http://langbasics.blogspot.in/2012/11/disable-or-enable-proxy-for-internet.html

7
Vikky Jain

Deaktivieren Sie den Proxy

REG ADD "HKCU\Software\Microsoft\Windows\Aktuelle Version\Interneteinstellungen"/v ProxyEnable/t REG_DWORD/d 0/f

Aktivieren Sie den Proxy

reg füge "HKCU\Software\Microsoft\Windows\Aktuelle Version\Interneteinstellungen" hinzu ^/v ProxyEnable/t REG_DWORD/d 1/f

Stellen Sie den Proxy ein

reg füge "HKCU\Software\Microsoft\Windows\Aktuelle Version\Interneteinstellungen" hinzu ^/v ProxyServer/t REG_SZ/d ProxyServerIP: Port/f

1
EKNATH KULKARNI

Vielen Dank für die Antwort von @ Gabriel Staples https://stackoverflow.com/a/44752679/6070417

Mach einfach als erstes die Schritte,

zwei Dinge sollten jedoch beachtet werden:

1, wie @afxentios im Kommentar sagte:

Eine Korrektur ist erforderlich. Fügen Sie die folgende Zeile hinzu: ProxySettings_path = "C:\Users \" + Benutzername +> "\ Proxy Settings" unter der Zeile Benutzername => WSHShell.ExpandEnvironmentStrings ("% USERNAME%"), und entfernen Sie den fest codierten Pfad.

Schritte korrigieren

a) Setzen Sie diese Zeile in toggle_proxy_on_off.vbs unter Zeile 26:

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

b) Entfernen Sie die Zeile 18 ProxySettings_path = "C:\Users\Gabriel\Proxy Settings".

2, Sie werden sehen, dass das Skript die Registrierung tatsächlich aktualisiert, aber es wird nicht funktionieren, bis Sie IE einmal öffnen/schließen. Also habe ich die Antwort hier gefunden: https: // stackoverflow.com/a/39079005/6070417

Schritte korrigieren

a) Kopieren Sie den Script Blow und speichern Sie ihn in 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) Legen Sie die Datei Refresh-System.ps1 unter "C:\Users\YOUR_USERNAME\Proxy Settings" ab.

c) Fügen Sie diese Zeile zu toggle_proxy_on_off.vbs unter "End If" hinzu (ungefähr in Zeile 35)

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

Das Skript funktioniert ohne IE.

.

Aber jetzt, wenn VBS-Skript Powershell-Skript aufrufen, wird das Powershell-Fenster einen kurzen Moment angezeigt.

Wer weiß, wie man das PowerShell-Fenster einstellt, das niemals angezeigt wird? Bitte fügen Sie einen Kommentar hinzu.

0
YOUNG