qwertzy0815
Goto Top

Umfassende Registry-Einträge in Domäne einmalig ausrollen

Hallo zusammen,

ich versuche gerade Registry-Einstellungen zentral über unseren ActiveDirectory-Server an alle Clients auszurollen. Es handelt sich zugegebenermaßen um die ersten Schritte, die ich in diesem Bereich mache. Um so baffer bin ich, auf welche kindischen Probleme ich dabei stoße.

Die Anforderung ist, zwei Registry-Schlüssel samt Unterschlüsseln und enthaltenen Einträgen EINMALIG an jeden Clientrechner in der Domäne auszurollen. Die Nutzer sollen also beim ersten Login Grundeinstellungen verpasst bekommen, die sie auf Wunsch selber ändern können. Als AD-Serversystem kommt Windows Server 2016 zum Einsatz.

Ich habe dazu nun in der Gruppenrichtlinienverwaltung ein Gruppenrichtlinienobjekt (GPO) angelegt. Im Gruppenrichtlinienverwaltungs-Editor habe ich im Zweig Computerkonfiguration / Einstellungen / Windows-Einstellungen / Registry meine gewünschten Änderungen eingetragen.

Hier kam es zu den ersten Problemen. Ich kann mich beim Anlegen der Registry-Werte zwischen drei Möglichkeiten entscheiden: a) Registrierungselement, b) Sammlungselement und c) Registrierungs-Assistent. Registrierungselement scheint nur einen einzelnen Registry-Eintrag zu erzeugen. Sammlungselement scheint eine organisatorische Zwischenstruktur (Ordner) zu schaffen. Allein der Registrierungs-Assistent hilft beim Eintragen komplexerer Registry-Strukturen.

Die Handhabung des Registrierungs-Assistenten ist übel: Da mir die Registry-Elemente als .reg-Datei vorliegen, musste ich sie zuerst in die Registry des Servers selbst einlesen. Dies stellt insofern kein Problem dar, als dass alle Elemente sich in zwei Schlüsseln befinden, die ich anschließend problemlos wieder löschen kann. Beim Auswählen der Schlüssel und Einträge mittels des Assistenten musste jedes einzelne Listenelement aus einem kleinen Fenster händisch gewählt werden. Teilweise wurde die Auswahl scheinbar selbsttätig und ohne erkennbares System zurückgesetzt. Einige Zeit später gelang es mir so schließlich die beiden Schlüssel samt Unterelementen in den Gruppenrichtlinienverwaltungs-Editor zu übertragen.

Nun ist es jedoch scheinbar nicht möglich, allen Werten in einem Schritt zu sagen, dass sie pro Client nur ein einziges Mal geschrieben werden dürfen. Diese Einstellung sieht der Editor nur in den Einstellungen jeweils eines Eintrages vor. Bei hunderten von Werten ist es nicht zu leisten, für jeden einzelnen ein Eigenschaftenfenster zu öffnen und die Einstellungen mit der Maus vorzunehmen.

Bin ich zu blöd, diesen Gruppenrichtlinienverwaltungs-Editor zu bedienen? Wie arbeitet Ihr mit diesem Ding?

Ist mein Ansatz über den Editor zu gehen komplett falsch?

Bin dankbar für Anregungen!

Content-ID: 5670491965

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

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

3063370895
3063370895 27.01.2023 aktualisiert um 10:59:05 Uhr
Goto Top
Hi,
Wie wäre es mit einem Logonscript?

Das .reg kann man entweder per Batch/PS importieren oder direkt zu einem PS-Skript umwandeln

zum Importieren mit einer Batchdatei als Logonskript:

if not exist "C:\check" reg import \\fileshare\test.reg && copy NUL "c:\check"  
SlainteMhath
SlainteMhath 27.01.2023 aktualisiert um 10:57:25 Uhr
Goto Top
Moin,

bei komplexeren Registry Einträgen würde ich das per Script machen, etwa so:
if exist c:\flag.txt goto EOF
reg import ...
echo 12 > c:\flag.txt

Je nach dem ob HKLM oder HKCU muss das Script bei Startup bzw. Login laufen.

lg,
Slainte

/EDIT: Da war wer schneller als ich :D
em-pie
em-pie 27.01.2023 um 10:58:16 Uhr
Goto Top
Moin,

du kannst, wenn du einen RegKey verteilst prüfen, ob der RegKey schon vorhanden ist bzw. das Ausführen der GPO "zulassen", wenn der Key nicht vorhanden ist.

https://www.policypak.com/resources/pp-blog/gpo-item-level-targeting
DerWoWusste
DerWoWusste 27.01.2023 um 10:58:53 Uhr
Goto Top
Moin.

Die Nutzer sollen also beim ersten Login Grundeinstellungen verpasst bekommen, die sie auf Wunsch selber ändern können
Also müssen das zwangsläufig Einträge in HKCU sein und somit bist Du in der falschen Abteilung. Du musst es in Benutzerkonfiguration setzen, nicht in der Computerkonfiguration.
DerWoWusste
DerWoWusste 27.01.2023 aktualisiert um 11:28:49 Uhr
Goto Top
Nun ist es jedoch scheinbar nicht möglich, allen Werten in einem Schritt zu sagen, dass sie pro Client nur ein einziges Mal geschrieben werden dürfen. Diese Einstellung sieht der Editor nur in den Einstellungen jeweils eines Eintrages vor.
Das ist richtig, somit musst Du skripten. Was besser ist, als ein Anmeldeskript: Nimm einen immediate Task (wieder in der Benutzerabteilung), der importiert (reg.exe /import \\server\share\regfile.reg) und stell bei dem ein, dass er nur einmal läuft.
qwertzy0815
qwertzy0815 27.01.2023 um 11:59:42 Uhr
Goto Top
An ein Logon-Script hatte ich auch schon gedacht. Damit dieses einmalig ausgeführt wird, müsste jedoch am Client eine Prüfung erfolgen, ob es dort bereits ausgeführt wurde. Da der Gruppenrichtlinienverwaltungs-Editor dafür eigens eine Option anbietet, dachte ich, das müsste damit doch machbar sein. Und ich muss keine "Spuren" auf dem Client hinterlassen.

Zitat von @em-pie:
du kannst, wenn du einen RegKey verteilst prüfen, ob der RegKey schon vorhanden ist bzw. das Ausführen der GPO "zulassen", wenn der Key nicht vorhanden ist.
Ja, grundsätzlich richtig. In meinem konkreten Fall sind die Registry-Schlüssel / -Einträge aber an manchen Maschinen schon vorhanden und sollen auch an diesen einmal übergebügelt werden.

Zitat von @DerWoWusste:
Also müssen das zwangsläufig Einträge in HKCU sein und somit bist Du in der falschen Abteilung. Du musst es in Benutzerkonfiguration setzen, nicht in der Computerkonfiguration.
Ups. Richtig. Einer der Schlüssel muss nach HKLM, einer gen HKCU. Das muss natürlich aufgeteilt werden. Danke!

Zitat von @DerWoWusste:
Das ist richtig, somit musst Du skripten. Was besser ist, als ein Anmeldeskript: Nimm einen immediate Task (wieder in der Benutzerabteilung), der importiert (reg.exe /import \\server\share\regfile.reg) und stell bei dem ein, dass er nur einmal läuft.
Das klingt perfekt. Ist zwar ziemliches Neuland für mich, aber so werde ich das mal probieren.

Ich fasse es trotzdem noch nicht, dass der eigens für solche Zwecke geschaffene Gruppenrichtlinienverwaltungs-Editor so unmöglich in der Handhabung ist...
DerWoWusste
DerWoWusste 27.01.2023 um 12:04:54 Uhr
Goto Top
Aber in HKLM kann der Nutzer nicht schreiben.
em-pie
em-pie 27.01.2023 um 12:10:29 Uhr
Goto Top
Ich fasse es trotzdem noch nicht, dass der eigens für solche Zwecke geschaffene Gruppenrichtlinienverwaltungs-Editor so unmöglich in der Handhabung ist...
So komplex ist der doch gar nicht...
du musst die "Ordnerstruktur" ja gar nicht abbilden, sondern kannst die Keys in flacher Struktur ablegen:
Das gelbe hier ist nur Kosmetik
screenshot 2023-01-27 120628


unter deinen Gegebenheiten musst du es dann per Script, wie von @DerWoWusste vorgeschlagen , umsetzen.
qwertzy0815
qwertzy0815 27.01.2023 um 12:27:28 Uhr
Goto Top
Zitat von @em-pie:
du musst die "Ordnerstruktur" ja gar nicht abbilden, sondern kannst die Keys in flacher Struktur ablegen:
Das gelbe hier ist nur Kosmetik
Das ist schon klar. Dennoch kann ich ja wahlweise nur einen Einzelwert via Registrierungselement oder mehrere über Registrierungs-Assistent, wo ich aber jeden einzelnen Wert in einer Liste anhaken muss, eingeben. Und allen Einträgen auf einmal zu sagen, sie sollen nur einmal pro Client ausgeführt werden, ist ja auch nicht möglich. Dabei wäre es so einfach eine .reg-Datei zu importieren und per Mehrfachauswahl die Eigenschaften mehrerer Einträge anzupassen. Sei's drum. Der Weg muss wohl über ein Skript gehen.
emeriks
emeriks 27.01.2023 aktualisiert um 15:33:44 Uhr
Goto Top
Hi,
es geht auch einfacher. Ich habe es selbst noch nie so gemacht und getestet, aber der Theorie nach geht das.

1. Erstelle ein Sammlungselement
2. Verschiebe alle in der GPP schon vorhandenen Werte in diese Sammlung
3. Eigenschaften der Sammlung --> Zielgruppenadressierung
4. In der Zielgruppenadressierung nun ein neues Element "Registrierungsübereinstimmung" hinzufügen.
Jetzt ein Kriterium finden, an welchem erkannt wird, dass die Werte bereits gesetzt wurden.
"Schlüssel vorhanden"
"Wert vorhanden"

In Kombination mit Elementoption "ist nicht vorhanden".

Das gilt dann für alle Werte, welche man in dieser Sammlung hat.

So der Plan.

E.
MysticFoxDE
MysticFoxDE 28.01.2023 um 10:27:08 Uhr
Goto Top
Moin @qwertzy0815,

hier hast du ein Beispiel wie man per PowerShell mitunter auch die Registry verändern kann. 😉

Wie man das Windows 10 und 11 TCP-Handling wieder desuboptimieren kann

https://github.com/MysticFoxDE/WINDOWS-OPTIMIZATIONS/blob/main/W10ANDW11 ...

Sprich, passende Skript bauen, dieses dann per GPO z.B. beim Userlogin ausführen lassen und schon ist der 🐟 geputzt. 😁

Gruss Alex
qwertzy0815
qwertzy0815 30.01.2023 um 15:14:19 Uhr
Goto Top
Ich habe mir inzwischen ein kleines Skript gebastelt, das die reg-Datei auf den Client legt und dann mittels REG IMPORT dort einliest. Die Ergebnisse werden in eine Log-Datei geschrieben. Das Ganze rolle ich über eine Aufgabe aus, die einmal pro Client angelegt und ausgeführt wird.

Mir erscheint dieses Vorgehen immer noch unmöglich kompliziert, zumal ich ja nur ein paar Registryschlüssel und -einträge verteilen will. Aber sei's drum.
mayho33
mayho33 30.01.2023 um 21:15:52 Uhr
Goto Top
qwertzy0815
qwertzy0815 31.01.2023 um 13:14:13 Uhr
Goto Top
Darauf bin ich auch gestoßen. Die Anleitung ist auch sehr schön geschrieben, taugt auch wunderbar für einzelne, nicht aber für das Ausrollen vieler Registry-Einträge. Die Probleme habe ich oben beschrieben.