[GELÖST] Problem mit Hexadezimalwerten beim Import von .reg

Antworten
DMichelRD
Beiträge: 9
Registriert: 17 Jul 2018, 16:13

[GELÖST] Problem mit Hexadezimalwerten beim Import von .reg

Beitrag von DMichelRD »

Hallo zusammen,

ich kämpfe seit ein paar Tagen damit Einträge in die WinReg per OPSI Script zu tätigen.
Nach vielen Fehlversuchen bin ich nun dabei angekommen die einzutragenden Keys direkt mit OpenKey und Set ins Setupscript zu schreiben.
Leider erhalte ich für einen einzutragenden Wert

Code: Alles auswählen

0000a8c0
einen Syntaxfehler im Log.
Das Script scheint diesen Hexcode (der für 43200 Sekunden steht) nicht als Hexwert interpretieren zu können.
Folgend das gesamte (anonymisierte) Script zur Übersicht, die betreffende Zeile habe ich einzeln gestellt und wieder ausgerückt:

Code: Alles auswählen

; -----------------------------------------------------------------
[Actions]
requiredWinstVersion >= "4.11.4.6"
ScriptErrorMessages=off
Registry_Patch
; ----------------------------------------------------------------
; Variablen definieren
DefVar $LogDir$
DefVar $ProductId$
DefVar $ExitCode$
DefVar $ProductName$
; Variablen setzen
Set $LogDir$ 		  = "%opsiLogDir%"
Set $ProductId$       = "ProductId"
Set $ProductName$     = "ProductName"
; ----------------------------------------------------------------
; Script
	; Aufruf delsub
	if FileExists("%ScriptPath%\delsub64.opsiscript")
		comment "Start uninstall sub section"
		Sub "%ScriptPath%\delsub64.opsiscript"
	endif
	Message "Installing " + $ProductId$ + " ..."
; ----------------------------------------------------------------
[Registry_Patch]	
	OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\...]
	Set "NatAliveFreq"=REG_DWORD:00000005
	Set "PeerID"=""
	Set "Description"=""
	Set "RemoteGW"="GatewayIP"
	Set "AuthKey"="Enc 123456789"
	Set "promptcertificate"=REG_DWORD:00000000
	Set "AuthMethod"=REG_DWORD:00000001
	Set "promptusername"=REG_DWORD:00000001
	Set "XAuth"=REG_DWORD:00000001
	Set "User"="Enc 987654321"
	Set "ikeversion"=REG_DWORD:00000001
	Set "Aggressive"=REG_DWORD:00000001
	Set "Modecfg"=REG_DWORD:00000001
	Set "KeyLife"=REG_DWORD:00015180
	Set "LocalID"=""
	Set "DPD"=REG_DWORD:00000001
	Set "Flag"=REG_DWORD:00000001
	Set "DHGroup"=REG_DWORD:00000004
	Set "RemoteGWValid"="GatewayIP"

	OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\...]
	Set "Auth"=REG_DWORD:00000010
	Set "Enc"=REG_DWORD:00000020

	OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\...]
	Set "Auth"=REG_DWORD:00000100
	Set "Enc"=REG_DWORD:00000080

	OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\...]
	Set "VIPWinsServer"=REG_DWORD:00000000
	Set "DIP"="0.0.0.0"
	Set "DMASK"="0.0.0.0"
	Set "Options"=REG_DWORD:00000045
	Set "VIPType"=REG_DWORD:00000002
	Set "VIPDnsServer"=REG_DWORD:00000000
	Set "VIPIP"=REG_DWORD:00000000
	Set "VIPMask"=REG_DWORD:00000000
	Set "DIP1"="::/0"
	Set "DMASK1"="::/0"
	Set "KeyLifeType"=REG_DWORD:00000000
	
Set "KeyLifeSec"=REG_DWORD:0000a8c0
	
	Set "KeyLifeKB"=REG_DWORD:00001400
	Set "DHGroup"=REG_DWORD:00000004

	OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\...]
	Set "Auth"=REG_DWORD:00000010
	Set "Enc"=REG_DWORD:00000020

	OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\...]
	Set "Auth"=REG_DWORD:00000010
	Set "Enc"=REG_DWORD:00000080
; ----------------------------------------------------------------
Zuletzt geändert von DMichelRD am 17 Dez 2020, 08:30, insgesamt 1-mal geändert.
Benutzeravatar
SisterOfMercy
Beiträge: 1524
Registriert: 22 Jun 2012, 19:18

Re: Problem mit Hexadezimalwerten beim Import von .reg

Beitrag von SisterOfMercy »

It's simple once you know the solution:

Code: Alles auswählen

Set "KeyLifeSec" = REG_DWORD:0x0000a8c0
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
DMichelRD
Beiträge: 9
Registriert: 17 Jul 2018, 16:13

Re: Problem mit Hexadezimalwerten beim Import von .reg

Beitrag von DMichelRD »

Hey,
danke für den Hinweis.
Ich denke es wäre dann angeraten auch die übrigen Hex Werte entsprechend anzupassen!?
Benutzeravatar
SisterOfMercy
Beiträge: 1524
Registriert: 22 Jun 2012, 19:18

Re: Problem mit Hexadezimalwerten beim Import von .reg

Beitrag von SisterOfMercy »

DMichelRD hat geschrieben:Ich denke es wäre dann angeraten auch die übrigen Hex Werte entsprechend anzupassen!?
You mean for values like this one?

Code: Alles auswählen

Set "Options"=REG_DWORD:00000045
Yes, or convert it to decimal. When grabbing something from the registry that says 400 in the exported file, you can see in regedit that this is a hex value.
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
DMichelRD
Beiträge: 9
Registriert: 17 Jul 2018, 16:13

Re: Problem mit Hexadezimalwerten beim Import von .reg

Beitrag von DMichelRD »

Das habe ich dann jetzt umgesetzt und das Script durchlaufen lassen.
Der Output im configed sagt "success".
In den Logs (Level 6) steht das die Keys erfolgreich erstellt wurden und auch die Variablen erfolgreich gesetzt werden konnten.
Schaue ich aber in die WinReg gibt es die entsprechenden Keys und Values nicht!
Gibt es hierzu Ideen?
Benutzeravatar
SisterOfMercy
Beiträge: 1524
Registriert: 22 Jun 2012, 19:18

Re: Problem mit Hexadezimalwerten beim Import von .reg

Beitrag von SisterOfMercy »

DMichelRD hat geschrieben:Schaue ich aber in die WinReg gibt es die entsprechenden Keys und Values nicht!
I see two errors with your script. You call the delsub part after you made changes to the registry. So, if it says in the delsub to remove these registry entries, they will not be there any more.

Also, you have not called the registry thing under actions with the /64Bit (or /SysNative) parameter, so it will end up in the 32-bit section. See the winst manual for more information.
The templates from the opsi-template package might give a bit of guidance where to put stuff in the script.
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
DMichelRD
Beiträge: 9
Registriert: 17 Jul 2018, 16:13

Re: Problem mit Hexadezimalwerten beim Import von .reg

Beitrag von DMichelRD »

You call the delsub part after you made changes to the registry.
Es gibt gar keine delsub in diesem Script, ich habe es trotzdem rausgenommen, macht ja auch nicht wirklich Sinn einen Aufruf zu starten von dem man weiß das er erfolglos sein wird.
Also, you have not called the registry thing under actions with the /64Bit (or /SysNative) parameter, so it will end up in the 32-bit section.
Das war dann die finale Lösung, ich hatte die Anleitung an der Stelle falsch verstanden und das als optionale Parameter wahrgenommen ohne die Brisanz zu erkennen das die Einträge basismäßig in der falschen Sektion der Registry landen.

Vielen lieben Dank für die riesige Hilfe, schöne Weihnachten und bleibt vor allen Dingen gesund!
Antworten