Bedingung für jedes registry /AllNtuserdats

Antworten
akc
Beiträge: 9
Registriert: 21 Jun 2012, 08:59

Bedingung für jedes registry /AllNtuserdats

Beitrag von akc »

Hallo zusammen,

hab mich schon durch Google und Co. gewühlt, aber keine verlässliche Info gefunden.
Ich muss für eine Installation einen Registryeintrag setzen. Grundsätzlich ja keine Hexerei.
Jetzt muss der Parameter aber in HKEY_CURRENT_USER untergebracht werden. Auch erst mal kein Problem. dafür gibt es ja das '/AllNtuserdats' was dafür sorgt, das es einfach für jeden User gesetzt wird.
Soweit so gut, das kann ich auch so nehmen. Jetzt kommt der Haken.
In dem Parameter kann schon was drin stehen. Ein CSV Wert. Der String der hinzugefügt werden soll, kann aber potentiell auch schon drin stehen. Ich muss also je User eigentlich testen ob der Key schon den String enthält.
Dafür gibts ganz praktisch (zumindest theoretisch) die Funktion contains(string,suchstring).

Konkreter Fall:
Im Userprofil genauer in den Policies sollen Syncausnahmen hinzugefügt werden. Der Schlüssel dazu ist:
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System] ExcludeProfileDirs
Da steht dann z.B. 'testordner;neuerOrdner' drin, oder eben nur 'testordner'. Das Script müsste nun schauen, steht da schon neuerOrdner drin. Wenn ja, tue nichts, wenn nein fügen ihn an.

Grundsätzlich hatte ich an sowas gedacht (so als Testscript erstmal ohne schreiben.):

Code: Alles auswählen

[Aktionen]
DefVar $readstring$
DefVar $searchstring$
DefVar $newstring$

set $readstring$ = GetRegistryStringValue("[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System] ExcludeProfileDirs")
set $searchstring$="owncloud"
set $newstring$=$readstring$+";"+$searchstring$

if contains($readstring$, $searchstring$)
  pause "passed: Value stays= "+$readstring$
else
  pause "failed: set new value="+$newstring$+""
  registry_dontsync /AllNtuserdats
endif

Message "All Done"
	
[Registry_dontsync]
openkey [HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System]
set"ExcludeProfileDirs"=REG_SZ:"$newsring$"
Das passiert ja aber bereits im [Actionen] Part und eben nicht unter dem Parameter '/AllNtuserdats'.
D.h. so wie ich es sehe läuft das nicht für jeden Benutzer.

Hat irgendwer ne Idee wie ich das realisieren kann?

Danke und Gruß
Florian
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3327
Registriert: 04 Jun 2008, 14:27

Re: Bedingung für jedes registry /AllNtuserdats

Beitrag von d.oertel »

Hi,

wenn ich das richtig verstehe wäre das etwas für das 'User Profile Management':
http://download.uib.de/opsi4.0/doc/html ... serprofile

gruß
d.oertel


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


Antworten