Windows-Skript zum Umschalten des Kontrollkästchens für das automatische Konfigurationsskript, ohne vorhandene Zeichenfolgenwerte zu entfernen

1

Ich versuche, eine bat-Datei zu erstellen, um das Kontrollkästchen für das automatische Konfigurationsskript im Internet Explorer umzuschalten (siehe rotes Feld im Screenshot), ohne jedoch einen vorhandenen Wert im zugehörigen Textfeld zu entfernen (siehe grünes Feld im Screenshot). Bildbeschreibung hier eingeben

Ich habe hier überprüft: Batch-Datei-Skript für Aktivieren und Deaktivieren der Option "Automatisches Konfigurationsskript verwenden"

Aber dieses Skript a) entfernt vorhandene Werte und b) scheint nur das Kontrollkästchen zu deaktivieren und niemals zu aktivieren.

@echo OFF

setlocal ENABLEEXTENSIONS
set KEY_NAME="HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
set VALUE_NAME=AutoConfigURL

FOR /F "usebackq skip=1 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
    set ValueName=%%A
    set ValueType=%%B    
    set ValueValue=%%C
)

@echo Value Name = %ValueName%
@echo Value Type = %ValueType%
@echo Value Value = %ValueValue%

IF  NOT "%ValueValue%"=="yyyy" (
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v AutoConfigURL /t REG_SZ /d "yyyy" /f
echo Proxy Enabled
) else (
echo  Hai
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v AutoConfigURL /t REG_SZ /d "" /f
echo Proxy Disabled
)

pause

Was vermisse ich hier?

Flo
quelle

Antworten:

6

Ich weiß, dass dies eine alte Frage ist, aber es war nicht so einfach für mich, eine Lösung zu finden. Deshalb möchte ich das, was ich gefunden habe, mit Ihnen teilen, nur für den Fall, dass Sie auf dieser Seite landen.

Im RegKey ist HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connectionsder 9. Wert von DefaultConnectionSettingsstore das Flag von:

  • Einstellungen automatisch ermitteln
  • Verwenden Sie das automatische Konfigurations-Skript

Verfügbare Werte:
01 - Keines dieser beiden Kontrollkästchen für
die automatische Konfiguration ist aktiviert. 05 - Nur das Kontrollkästchen Automatische Konfiguration verwenden ist aktiviert.
09 - Nur die Einstellungen für die automatische Erkennung sind aktiviert.
0d - Beide Kontrollkästchen sind aktiviert

Persönlich habe ich den aktuellen Schlüssel exportiert, eine Kopie erstellt und mit dem Texteditor bearbeitet.

Bei Bedarf lade ich dann über die Befehlszeile den ersten RegKey oder den geänderten über den Befehl reg import KeyIWantToUse.reg

Vielen Dank an Jamie Google Group und an Leo bei StackOverflow , die mir sehr geholfen haben.

Gianmaria Leoni
quelle
0

Ihr Skript funktioniert, basiert jedoch auf einer fehlerhaften Prämisse für den Registrierungswert AutoConfigURL. Tatsächlich werden Verbindungseinstellungen in Binärwerten DefaultConnectionSettingsund SavedLegacySettingsim HKCU\...\Internet Settings\ConnectionsRegistrierungszweig verwürfelt . Hier werden verschlüsselt alle „ Automatische Suche der Einstellungen “ on / off „ Automatisches Konfigurationsskript verwenden “ on / off „ Automatisches Konfigurationsskript “, „ Bypass Proxy für lokale Server “ on / off, Proxy - Details usw.

Sie könnten Jahre damit verbringen, diese Wertestruktur zu erforschen.

Gute Nachricht: Durch Löschen von Werten DefaultConnectionSettingsund SavedLegacySettingsaus der Registrierung können Sie die Verbindung zu den Interneteinstellungen auf den ursprünglichen Standardzustand zurücksetzen. Für andere Einstellungen: Passen Sie sie an inetcpl.cplund exportieren Sie sie in eine .regDatei, um sie später zu importieren.

JosefZ
quelle