Prüfen ob Registry-Schlüssel exisitert

Antworten
ahcsas
Beiträge: 18
Registriert: 20 Jun 2011, 09:28

Prüfen ob Registry-Schlüssel exisitert

Beitrag von ahcsas »

Hallo,

kann es sein, dass es nicht möglich ist zu prüfen, ob ein Registry-Schlüssel existiert? Ich würde gerne auf die Existenz von HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client prüfen, bekomme es aber mit GetRegistryStringValue nicht hin.

Wer hilft mir auf die Sprünge?

Danke & Gruß
Sascha
Viele Grüße
Sascha
thomas.besser
Beiträge: 455
Registriert: 09 Sep 2009, 09:40

Re: Prüfen ob Registry-Schlüssel exisitert

Beitrag von thomas.besser »

Funktioniert hier wunderbar.

Was sagt denn die entsprechende Meldung im Log? Das hilft i.d.R. weiter

Außerdem kann man dir nur helfen, wenn du mal die entsprechende Codezeile deines Skriptes postest.

Gruß
Thomas
ahcsas
Beiträge: 18
Registriert: 20 Jun 2011, 09:28

Re: Prüfen ob Registry-Schlüssel exisitert

Beitrag von ahcsas »

Hi,

Habe schon verschiedenstes ausprobiert. Hier mal ein Ansatz, der nicht funktioniert hat:

Code: Alles auswählen

if (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client]") = "")
	set $TestCtxReg$ = "true"
else
	set $TestCtxReg$ = "false"
endif 
Liefert immer "true". Egal ob der Key existiert oder nicht.
Nochmal zur Klarstellung: Ich will nicht auf einen Wert prüfen sondern nur auf den Unterschlüssel.

Danke!

Gruß
Sascha
Viele Grüße
Sascha
erwinr
Beiträge: 104
Registriert: 25 Feb 2009, 10:08

Re: Prüfen ob Registry-Schlüssel exisitert

Beitrag von erwinr »

und umgekehrt?

Code: Alles auswählen

set $TestCtxReg$ = GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client]")
if ($TestCtxReg$ = "")
    comment "Key existiert nicht!"
else
    comment "Key existiert!"
endif
thomas.besser
Beiträge: 455
Registriert: 09 Sep 2009, 09:40

Re: Prüfen ob Registry-Schlüssel exisitert

Beitrag von thomas.besser »

Ich denke um das Problem zu lösen, muss man wissen, was das entsprechende Logfile unter 'instlog' zu den ausgeführten Codezeilen meldet.

Gruß
Thomas
ahcsas
Beiträge: 18
Registriert: 20 Jun 2011, 09:28

Re: Prüfen ob Registry-Schlüssel exisitert

Beitrag von ahcsas »

Hallo,

das Log aus meinem letzten Versuch:

Code: Alles auswählen

[5] [20.11.2012 10:08:58]   
[5] [20.11.2012 10:08:58]   If
[6] [20.11.2012 10:08:58]       Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\]  opened
[6] [20.11.2012 10:08:58]       Variable "ICA Client"  not found. Code: 2
[6] [20.11.2012 10:08:58]       Variable "ICA Client"  not found. Code: 2
[6] [20.11.2012 10:08:58]       Key closed
[5] [20.11.2012 10:08:58]     GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\]ICA Client") = ""   <<< result true
[5] [20.11.2012 10:08:58]     (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\]ICA Client") = "")   <<< result true
[5] [20.11.2012 10:08:58]   Then
[5] [20.11.2012 10:08:58]     
[5] [20.11.2012 10:08:58]     Set  $TestCtxReg$ = "true"
[6] [20.11.2012 10:08:58]       The value of the variable "$TestCtxReg$" is now: "true"
[5] [20.11.2012 10:08:58]   
[5] [20.11.2012 10:08:58]   Else
[5] [20.11.2012 10:08:58]   EndIf
Und hier mit dem Vorschlag von erwinr:

Code: Alles auswählen

[5] [20.11.2012 15:40:23]   
[5] [20.11.2012 15:40:23]   Set  $TestCtxReg$ = GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client]")
[6] [20.11.2012 15:40:23]     Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client]  opened
[6] [20.11.2012 15:40:23]     Variable ""  not found. Code: 2
[6] [20.11.2012 15:40:23]     Variable ""  not found. Code: 2
[6] [20.11.2012 15:40:23]     Key closed
[6] [20.11.2012 15:40:23]     The value of the variable "$TestCtxReg$" is now: ""
[5] [20.11.2012 15:40:23]   
[5] [20.11.2012 15:40:23]   If
[5] [20.11.2012 15:40:23]     $TestCtxReg$ = ""   <<< result true
[5] [20.11.2012 15:40:23]     ($TestCtxReg$ = "")   <<< result true
[5] [20.11.2012 15:40:23]   Then
[5] [20.11.2012 15:40:23]     comment: Key existiert nicht!
[5] [20.11.2012 15:40:23]   
[5] [20.11.2012 15:40:23]   Else
[5] [20.11.2012 15:40:23]   EndIf
Gruß
Sascha
Viele Grüße
Sascha
thomas.besser
Beiträge: 455
Registriert: 09 Sep 2009, 09:40

Re: Prüfen ob Registry-Schlüssel exisitert

Beitrag von thomas.besser »

Die Fehlermeldung ist ja relativ eindeutig.

Hat denn dieser Eintrag "HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client" irgendwelche Variablen?

Siehe auch http://download.uib.de/opsi4.0/doc/html ... ctions-reg
ahcsas
Beiträge: 18
Registriert: 20 Jun 2011, 09:28

Re: Prüfen ob Registry-Schlüssel exisitert

Beitrag von ahcsas »

Ja, es gibt in der Regel eine Variable die ich in dem Fall hernehmen könnte. Aber die eigentliche Fragestellung war ja, lediglich auf die Existenz eines Unterschlüssels zu prüfen. Ich wollte auch eher generell wissen, ob dies möglich ist. Der Citrix Key war nur als Beispiel gedacht. Wir haben übrigens auch einen Support-Vertrag, ich wollte nur UIB nicht mit solchem Pipifax belästigen ;-)

Gruß
Sascha
Viele Grüße
Sascha
Antworten