57992
Goto Top

Active Directory Problem mit Basisverzeichnis der User

Hallo, habe ein Problem beim Anlegen der Basisverzeichnise für die Benutzer im AD.

Habe einen Windows 2003 Server mit AD neu aufgesetzt und die Benutzer in die entsprechenden OU's per batch Script importiert. Das Basisverzeichnis habe ich im batch script gleich mit angegeben und auch den Laufwerksbuchstaben H: zugewiesen. Im AD hat nun auch jeder User in den Eigenschaften den Pfad zu seinem Basisverzeichnis (\\testserver\home\"Benutzername").

Jetzt wird aber leider nicht der entsprechende Ordner mit Benutzername im Verzeichnis home angelegt. Editiere ich im AD unter den Benutzereigenschaften das Basisverzeichnis nochmal per Hand und klicke auf Übernehmen wird der Ordner sofort angelegt und der Zugriff vom Client gelingt.

Wie bekomme ich es jetzt hin, dass alle Ordner des jeweiligen Benutzers angelegt werden und auch sofort Zugriff vom Client aus bekommen, wenn man dort auf das gemapte Laufwerk H: klickt???

Schon mal vielen Dank für eure Antworten!

Content-ID: 74532

Url: https://administrator.de/forum/active-directory-problem-mit-basisverzeichnis-der-user-74532.html

Ausgedruckt am: 09.04.2025 um 20:04 Uhr

prival
prival 27.11.2007 um 09:07:05 Uhr
Goto Top
Dieses Feature des automatischen Anlegens des Home ist erst seit Windows Server 2003 und läuft über die API, wenn man es händisch macht. Allerdings umgehst du diesen API-Aufruf indem du mit einem Skript den Import durchgeführt hast. Dir bleibt nichts anderes übrig als das Home ebenfalls per Skript anzulegen.

Das Ganze geht über VB. Suche dir einfach mal ein paar Hilfestellungen im Netz über "rmtshare.exe" zwecks Freigabe erstellen und "FileSystemObject" zum Anlegen eines Ordners.
57992
57992 27.11.2007 um 11:26:04 Uhr
Goto Top
Danke für die Antwort, dann werde ich mir mal noch ein kleines Script schreiben welches die Ordner anlegt und die entsprechenden Rechte vergibt.
prival
prival 27.11.2007 um 11:35:10 Uhr
Goto Top
Für die Rechtevergabe helfen dir freie Befehlszeilentools wie "cacls.exe" oder auch "setacl.exe". Damit kannst du ebenfalls die Vererbungen steuern.

Set objShell = CreateObject("Wscript.Shell")  
objShell.Run "D:\Coding\Tools\setacl.exe \\server\share\ordner /dir /set %Domäne%\%User% /change /i:cont_obj_inh"  

Bei Leerzeichen im Pfad sind Anführungszeichen (ASCII: 34, respektive Chr(34) ) zu verwenden.


Noch ein Tipp zu "rmtshare.exe": Dieses Tool mag keine Leerzeichen im Pfad (der Pfad zur "rmtshare.exe").
57992
57992 27.11.2007 um 16:14:05 Uhr
Goto Top
So das Anlegen der Ordner und die Rechte Vergabe haben prima geklappt. Zugriff gelingt auch wie gewünscht. Habe einfach mein vorhandenes Batch Script modifiziert. Jetzt legt es einen Ordner entsprechend des Benutzernamens an und vergibt für den jeweiligen Benutzer die entsprechenden Rechte mit dem "cacls" Befehl.

Danke für die Tips!
prival
prival 27.11.2007 um 17:06:38 Uhr
Goto Top
Gern geschehen. Erfreue dich an den Erfolgen, die nächsten Herausforderungen kommen bestimmt. ;)