tuxhunt3r
Goto Top

Remote unter HKCU einen Registryeintrag erzeugen

Hallo ans Forum

Ich muss mit der Reg.exe auf 50 Clients einen DWORD-Wert mit dem Namen (value) "DefaultCPG" und mit dem Inhalt (data) "1252" erstellen, und zwar unter folgendem Schlüssel:

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options

Die Zielsysteme arbeiten mit Windows 2000.

Nun stellt sich die Frage: Wie mache ich das? Ich habs bereits folgendermassen probiert:
reg add \\ZIELPC\hkcu\Software\Microsoft\Office\11.0\Excel\Options /v DefaultCPG /type REG_DWORD /d 1252

Das klappt leider nicht, er bringt immer den folgenden Fehler:

Error: A remote machine was specified, the root key must be HKLM or HKU.

Wie bringe ich das zum Fliegen? Ich will mich nicht bei 50 Clients einloggen und die Anpassungen von Hand vornehmen....


Eine Alternative habe ich mir auch schon überlegt:

Ich generiere per Batch auf dem Zielsystem ein *.reg-File und schmeisse dieses per XCMD an. Allerdings weiss ich nicht, wie ich ein *.reg-File erstellen kann, welches genau das macht, was ich oben beschrieben habe.

Kann mir jemand helfen?

Content-Key: 88983

Url: https://administrator.de/contentid/88983

Printed on: April 25, 2024 at 05:04 o'clock

Member: masterbonsai
masterbonsai Jun 03, 2008 at 09:29:39 (UTC)
Goto Top
hallo fremder,

also ich erledige solche reg einträge übers login script.

bsp. den CLEARTYPE anschalten :

im login.cmd folgenden eintrag entsprechend setzen:

regedit /s %LOGONSERVER%\NETLOGON\cleartype.reg (den pfad der reg.datei musst noch anpassen)

und die reg. datei bastelst du dir am besten indem du den eintrag aus einem bereits umgestellen rechner mit hilfe von regedit exportierst face-wink


das wäre der inhalt der entsprechenden reg. datei:

Windows Registry Editor Version 5.00

[HKEY_USERS\.DEFAULT\Control Panel\Desktop]
"FontSmoothing"="2"
"FontSmoothingType"=dword:00000002


jetzt kannst du noch ins script einbauen, dass nur bestimmte rechner diesen eintrag bekommen.. (die ja schon vorab kennst). z.b. über eine bestimmte benutzergruppe die mu mit IFMEMBER abfragst... face-wink

viel erfolg.
jochen
Member: Oli-nux
Oli-nux Jun 03, 2008 at 09:29:46 (UTC)
Goto Top
Ich weiß nicht obs daran liegt aber warum hast du hkcu anstatt dem HKEY_CURRENT_USER genommen?

Edit:
Ok, HKU steht für HKEY_USERS.

einfach ignorierenface-wink
Member: TuXHunt3R
TuXHunt3R Jun 03, 2008 at 10:11:35 (UTC)
Goto Top
Tja, am Loginscript darf ich leider nichts machen. Ich muss effektiv ein Script haben, welches auf eine Liste von Computern den oben erwähnten Registryeintrag ausführt.

Weiss niemand etwas?
Mitglied: 65627
65627 Jun 03, 2008 at 10:25:10 (UTC)
Goto Top
Wenn du am Loginscript nichts machen darfst und jeder User eine eigene Registry besitzt, kannst du nur über eine Verknüpfung im Autostart Änderungen vornehmen (lassen), dann sollte HKCU funktionieren.

HKCU (HKEY_CURRENT_USER) steht erst nach erfolgter Anmeldung zur Verfügung und ist eine nach der Anmeldung erfolgte 1:1-Kopie aus dem Schlüssel HKU mit der entsprechenden SID.

Du musst dir also sonst die Mühe machen und die SID des Users rausfinden.
Member: masterbonsai
masterbonsai Jun 03, 2008, updated at Oct 18, 2012 at 16:35:46 (UTC)
Goto Top
folgenden link hab ich noch dazu im forum gefunden, der dir sicher weiter helfen wird:

Registry - Profile - Templates - Zugriffsrechte
Member: TuXHunt3R
TuXHunt3R Jun 03, 2008 at 11:01:05 (UTC)
Goto Top
Funktioniert das auch, wenn der User keine lokalen Adminrechte hat? Ich nehme es nicht an, oder....?
Mitglied: 65627
65627 Jun 03, 2008 at 11:04:41 (UTC)
Goto Top
Da es die usereigenen Einträge sind, denke ich, dass es funktionieren sollte, wenn der angemeldete User das veranlasst. Wenn du über die HKU-Keys mit SID gehst, benötigst du ganz sicher Adminrechte.
Member: TuXHunt3R
TuXHunt3R Jun 03, 2008 at 13:55:58 (UTC)
Goto Top
Ich habe nun eine Batch erstellt, welche ich in den Autostart der jeweiligen User schieben will.

Diese sieht so aus:
reg add HKEY_CURRENT_USERS\Microsoft\Office\11.0\Excel\Options /v DefaultCPG /type REG_DWORD /d 1252

Dieser bringt allerdings die Meldung "Error: Too many command-line parameters". Kann mir jemand die korrekte Syntax nennen?
Mitglied: 65627
65627 Jun 03, 2008 at 14:02:40 (UTC)
Goto Top
Mach mal aus dem /type ein /t und hänge hinten noch /f ran.
Member: TuXHunt3R
TuXHunt3R Jun 03, 2008 at 15:12:17 (UTC)
Goto Top
Hat geklappt, danke. Ich war wohl ein wenig blind....
Member: Biber
Biber Jun 03, 2008 at 15:35:03 (UTC)
Goto Top
Moin TuXHunt3R,

Hmm, Dein "Hat geklappt, danke." bezieht sich wirklich auf die Wirksamkeit dieses Registry-Keys???
Oder nur auf das Schreiben-Können dieses Schlüssels?
IMHO ist nicht nur der Key falsch, sondern auch der Wert.

Jetzt und (behaupte ich) falsch:
reg add HKEY_CURRENT_USERS\Microsoft\Office\11.0\Excel\Options /v DefaultCPG /t REG_DWORD /d 1252 /f
--> Besser: HKEY_CURRENT_USER oder HKCU statt HKEY_CURRENT_USERS
--> Besser: HKCU\Software\Microsoft\Office...[bla] statt HKCU\Microsoft\Office...[bla]
--> Besser: Wert auf 0 (=nimm als Default CP Windows(Ansi)" setzen statt auf 1252

>Set "regkey=HKCU\Software\Microsoft\Office\11.0\eXcel\Options"  
>reg add %regkey% /v DefaultCFG /t REG_DWORD /d 1252 /f
Der Vorgang wurde erfolgreich ausgeführt.
>reg query %regkey% /v DefaultCFG

! REG.EXE VERSION 4.3b

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\eXcel\Options
    DefaultCFG  REG_DWORD       0x4e4
>set /a 0x4e4
1252
[Letzte Zeile: Kontrolle - Der angezeigte Wert 0x4e4 entspricht dezimal 1252.]
Dennoch würde ich plädieren für:
>reg add %regkey% /v DefaultCFG /t REG_DWORD /d 0 /f

Grüße
Biber
Mitglied: 65627
65627 Jun 03, 2008 at 15:52:45 (UTC)
Goto Top
Hi, Biber,

sehr aufmerksam. face-wink Soweit war ich gar nicht vorgedrungen, die Fehlermeldung wars, und nicht der Key. Immerhin stand der ja im Eröffnungsbeitrag korrekt.

Gruß
blubbdi
Member: TuXHunt3R
TuXHunt3R Jun 04, 2008 at 08:48:37 (UTC)
Goto Top
Ich habe es nun folgendermassen gelöst:

Ich habe bei allen Usern, bei denen der Key gesetzt werden muss, einen Batch in den Autostart gepackt, welcher die folgenden Codezeilen enthält:

reg add HKEY_CURRENT_USERS\Microsoft\Office\11.0\Excel\Options /v DefaultCPG /t REG_DWORD /d 1252 /f

echo %computername%;%username% >>\\server\public$\regfix_log.log

Das hat so weit geklappt, alle betroffenen User + Computer sind bei mir im Logfile erschienen. Bei den 3 Usern, bei welchen ich nachgefragt habe, hat es geklappt, sprich das Setzen des Registry-Keys hat das Problem behoben.

PS: Das Logfile befindet sich natürlich auf einem Share, wo alle User Schreibzugriff haben.
Member: Biber
Biber Jun 04, 2008 at 12:00:36 (UTC)
Goto Top
Moin HuXTunt3R,
reg add HKEY_CURRENT_USERS\Microsoft\Office\11.0...
... ich glaub Dir diesmal nix... face-wink

mach bitte ein
reg query HKEY_CURRENT_USERS /s
reg query HKEY_CURRENT_USERS\Microsoft\Office\11.0 /s

Grüße
Biber

[Edit 5.6.2008] Warum in der letzten Antwort da unten jetzt "../t REG_DWORD /d 4690 /f" steht, frag ich jetzt nicht nochmal... wenns es funktioniert..[/Edit]
Mitglied: 65627
65627 Jun 04, 2008 at 12:23:38 (UTC)
Goto Top
Hehe. face-smile

Das hat sicher geklappt:
echo %computername%;%username% >>\\server\public$\regfix_log.log

Merke:
Hättste HKCU genommen, wär' das auch nicht vorgekommen. :-P
Member: TuXHunt3R
TuXHunt3R Jun 05, 2008 at 06:57:45 (UTC)
Goto Top
Sorry, habe es nicht per Copy-Paste gemacht. So sieht es aus und funktioniert unter Windows 2000:
reg add HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options /v DefaultCPG /t REG_DWORD /d 4690 /f

Diesmal ist es Copy-Paste aus dem funktionierenden Script!