VBScript soll Registryeintrag auslesen und ändern
Guten Abend, ich suche nach einer Lösung, den Registry-Eintrag "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows" per VBScript soweit anzupassen, daß dort in der Zeichenfolge die Werte für "SharedSection=1024,20480,1024" eingesetzt werden sollen. Der Rest der Zeichenfolge soll dabei aber erhalten bleiben. Mit "WSHShell.RegWrite" alleine komme ich an dieser Stelle nicht weiter, weil sich die Zeichenfolge "%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,1024 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16" für Windows 10 hier an der Stelle von der Zeichenfolge von anderen Windows-Versionen unterscheidet.
Von Microsoft gab es dazu wohl mal einen Easy-Fix, doch der ist nicht mehr über die offizielle Seite zu beziehen..
Link
Ich bin für jeden Tipp dankbar.
MfG
Von Microsoft gab es dazu wohl mal einen Easy-Fix, doch der ist nicht mehr über die offizielle Seite zu beziehen..
Link
Ich bin für jeden Tipp dankbar.
MfG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 429638
Url: https://administrator.de/contentid/429638
Ausgedruckt am: 25.11.2024 um 15:11 Uhr
5 Kommentare
Neuester Kommentar
Regex ist wie immer dein Freund bei solchen Aktionen:
' REG Key definieren
Const KEY = "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows"
'Variablen deklarieren
dim objShell, regex, str
' Objekte deklarieren
Set objShell = CreateObject("Wscript.Shell")
Set regex = CreateObject("vbscript.regexp")
' Ignoriere Groß- und Kleinschreibung im Pattern
regex.IgnoreCase = True
' Regex Pattern definieren
regex.Pattern = "(SharedSection)=(\d+),(\d+),(\d+)"
' Lese Wert aus der Registry in eine Variable
str = objShell.RegRead (KEY)
' Führe den Regex-Replace durch
str = regex.Replace(str,"$1=$2,$3,2048") 'hier passend Werte einsetzen, die "$n" sind die geklammerten Submatches des Regex-Pattern
' schreibe den geänderten Wert wieder zurück in die Registry
objShell.RegWrite KEY,str,"REG_EXPAND_SZ"