Seite 1 von 1

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

Verfasst: 14 Dez 2020, 15:48
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
; ----------------------------------------------------------------

Re: Problem mit Hexadezimalwerten beim Import von .reg

Verfasst: 14 Dez 2020, 17:35
von SisterOfMercy
It's simple once you know the solution:

Code: Alles auswählen

Set "KeyLifeSec" = REG_DWORD:0x0000a8c0

Re: Problem mit Hexadezimalwerten beim Import von .reg

Verfasst: 14 Dez 2020, 18:25
von DMichelRD
Hey,
danke für den Hinweis.
Ich denke es wäre dann angeraten auch die übrigen Hex Werte entsprechend anzupassen!?

Re: Problem mit Hexadezimalwerten beim Import von .reg

Verfasst: 14 Dez 2020, 18:36
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.

Re: Problem mit Hexadezimalwerten beim Import von .reg

Verfasst: 15 Dez 2020, 11:48
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?

Re: Problem mit Hexadezimalwerten beim Import von .reg

Verfasst: 16 Dez 2020, 22:19
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.

Re: Problem mit Hexadezimalwerten beim Import von .reg

Verfasst: 17 Dez 2020, 08:29
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!