simon-mcp
Goto Top

Registry-Wert (REG-BINARY) auslesen und nur bestimmte stellen ändern

Hallo Community,

ich beschäftige mich nun schon einige Zeit damit, einen REG_BINARY Wert aus der Registry auszulesen und wieder zu schreiben.
Wie ich solch einen Registry-Wert "Lesen" und "Schreiben" kann habe ich herausgefunden, doch leider nicht wie ich nur einen bestimmten Wert an einer bestimmten Stelle/Position verändern kann.

Aufgabenstellung:
Im Internet-Explorer gibt es unter Extras --> Internetoptionen --> Verbindungen --> Lan-Einstellungen --> "Automatische Suche der Einstellungen"
Diese Option "Automatische Suche der Einstellungen" würde ich gerne per Doppeklick von einem kleinen Script Ein- bzw. Ausschalten lassen...

Die Einstellungen für diese Option sind in der Registry in folgendem BINARY-Schlüssel:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings


Um herauszufinden welche Stellen in der "DefaultConnectionsSettings" ich ändern muss habe ich die Option einmal eingeschaltet und dann die registry ausgelesen und einmal ausgeschaltet und wieder ausgelesen... Das ganze dann mit WinMerge verglichen und schwup hatte ich die Stellen die ich ändern muss... Nur leider weiß ich nicht wie genau ich nun diese Stellen expliziet ändern kann...


Methode zum auslesen:
const HKEY_CURRENT_USER = &H80000001 
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections"  
strValueName = "DefaultConnectionSettings"  
strComputer = "."  
dim iValues(3)
Set oReg=GetObject( _
   "winmgmts:{impersonationLevel=impersonate}!\\" & _   
    strComputer & "\root\default:StdRegProv")  
oReg.GetBinaryValue HKEY_CURRENT_USER,strKeyPath,_
    strValueName,iValues
For i = lBound(iValues) to uBound(iValues)
Wscript.echo iValues(i)
Next

Methode zum schreiben:
const HKEY_CURRENT_USER = &H80000001
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections"  
strComputer = "."  
iValues = Array(70,00,... "Werte")  
Set oReg=GetObject( _ 
    "winmgmts:{impersonationLevel=impersonate}!\\" & _  
   strComputer & "\root\default:StdRegProv")  
oReg.CreateKey HKEY_CURRENT_USER,strKeyPath
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections"  
BinaryValueName = "DefaultConnectionSettings"  

oReg.SetBinaryValue HKEY_CURRENT_USER,strKeyPath,_
    BinaryValueName,iValues


Hat jemand vielleicht eine Idee wie ich diesen Schlüssel auslesen könnte und genau die von mir gewünschten Stellen ändern könnte?
Leider ist ein komplettes überschreiben dieses Schlüssels nicht möglich, da noch andere Maschinenspezifische Einstellungen in diesem Schlüssel gespeichert werden... (z.B. IP-Adresse)

Bevor ich es vergesse: Das ganze sollte "VBS" Kompatibel sein da ich nur ein kleines *.vbs-Script dafür erstellen möchte.

cu
Crus

Content-ID: 112419

Url: https://administrator.de/contentid/112419

Ausgedruckt am: 25.11.2024 um 21:11 Uhr

DerWoWusste
DerWoWusste 26.03.2009 um 20:46:54 Uhr
Goto Top
Exportier doch nur diesen einen Schlüssel, einmal angepasst, einmal normal. Die Regdateien doppelzuklicken geht ja auch.
Simon-MCP
Simon-MCP 27.03.2009 um 07:54:14 Uhr
Goto Top
Hi DerWoWusste,

leider ist dies kein möglicher Lösungsansatz für mich, da hierbei ja auch der komplette Schlüssel "DefaultConnectionSettings" überschrieben wird und nicht nur ein Teil davon...

Sonst könnte ich ja auch einfach mit meinem oben geposteten Script den kompletten Schlüssel überschreiben das wäre ja dann das selbe ;-D

Jemand anders vielleicht noch eine Idee?


cu
Crus
Simon-MCP
Simon-MCP 30.03.2009 um 15:27:22 Uhr
Goto Top
Hat niemand mehr eine Idee wie ich das realisieren könnte?
Simon-MCP
Simon-MCP 02.04.2009 um 12:59:47 Uhr
Goto Top
Nur um das Thema mal wieder in Erinnerung zu bringen: