Berechtigungen für AD Benutzer automatisieren
Hallo Leute,
Ich habe ein echtes Problem. Und zwar habe ich eine AD mit vielen hundert Usern in meinem Netzwerk. Jeder dieser User hatte bis vor kurzem noch ein eigenes Verzeichnis mit Schreibberechtigungen.
Also habe ich da jetzt ein paar Hundert Ordner wo NTFS Rechte drauf liegen. Tja... nun habe ich in meiner AD ein bisschen herumgespielt und ausversehen Globale Rechte von oben herab geändert.
Jetzt sind ALLE NTFS Berechtigungen hops. Ich muss jetzt dringend jedem User das Recht auf seinen Ordner zurückggeben.
Die Usernamen sind immer der Nachname+der erste Buchstabe vom Vorname.
Das bedeutet bei Jan Fischer wäre es Fischerj etc...
Und fischerj ist auch genau der Name des Ordners auf den Fischerj wieder individuelle Rechte bekommen soll.
Gibt es eine Möglichkeit das schneller zu machen, als sich durch jeden einzelnen User zu klicken?
Wenn nicht: Kann man NTFS Recht irgendwie wiederherstellen...?!?!
Ich wäre sehr dankbar für ein paar Antworten
cya
David
Ich habe ein echtes Problem. Und zwar habe ich eine AD mit vielen hundert Usern in meinem Netzwerk. Jeder dieser User hatte bis vor kurzem noch ein eigenes Verzeichnis mit Schreibberechtigungen.
Also habe ich da jetzt ein paar Hundert Ordner wo NTFS Rechte drauf liegen. Tja... nun habe ich in meiner AD ein bisschen herumgespielt und ausversehen Globale Rechte von oben herab geändert.
Jetzt sind ALLE NTFS Berechtigungen hops. Ich muss jetzt dringend jedem User das Recht auf seinen Ordner zurückggeben.
Die Usernamen sind immer der Nachname+der erste Buchstabe vom Vorname.
Das bedeutet bei Jan Fischer wäre es Fischerj etc...
Und fischerj ist auch genau der Name des Ordners auf den Fischerj wieder individuelle Rechte bekommen soll.
Gibt es eine Möglichkeit das schneller zu machen, als sich durch jeden einzelnen User zu klicken?
Wenn nicht: Kann man NTFS Recht irgendwie wiederherstellen...?!?!
Ich wäre sehr dankbar für ein paar Antworten
cya
David
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 150831
Url: https://administrator.de/contentid/150831
Ausgedruckt am: 16.11.2024 um 07:11 Uhr
3 Kommentare
Neuester Kommentar
moin,
das ist ein heisses Eisen und ich hätte da was, aber das geht von einer anderen Struktur aus.
Denn bei mir sind die Usernamen:
Wenn das bei euch wirklich so ist, wie du schreibst:
leider hab ich aber grade selber viel zu schönes Wetter draussen und (mal wieder) Serverpatch & streichelday....
Das ganz Script liegt in C:\script\user\ und ist mehrfach abgesichert.
Diese vielen Logs und die temporäre doit sind zum testen und nachvollziehen, was passiert ist besser, als das alles in dem Script selber abzufackeln.
Gruß
das ist ein heisses Eisen und ich hätte da was, aber das geht von einer anderen Struktur aus.
Denn bei mir sind die Usernamen:
- sowohl mit den Ordnern identisch
- als auch Vorname.Nachname durch einen Punkt getrennt.
Wenn das bei euch wirklich so ist, wie du schreibst:
Jan Fischer wäre es Fischerj
Dann muß man härtere Mittel einsetzen und das Ad auslesen -das liefert einem Vor und Nachname.leider hab ich aber grade selber viel zu schönes Wetter draussen und (mal wieder) Serverpatch & streichelday....
Das ganz Script liegt in C:\script\user\ und ist mehrfach abgesichert.
Diese vielen Logs und die temporäre doit sind zum testen und nachvollziehen, was passiert ist besser, als das alles in dem Script selber abzufackeln.
del C:\script\user\*.ini
del C:\script\user\doit.cmd
del C:\script\user\*.txt
net user /domain >C:\script\user\users.txt
for /f "skip=6 tokens=1,2,3 delims= " %%a in (C:\script\user\users.txt) do (
if exist "\\Server\user\%%a" echo %%a>>C:\script\user\users_with_n.ini
if exist "\\Server\user\%%b" echo %%b>>C:\script\user\users_with_n.ini
if exist "\\Server\user\%%c" echo %%c>>C:\script\user\users_with_n.ini
)
for /f "tokens=1,2,3 delims= " %%a in (C:\script\user\users_with_n.ini) do if exist "\\Server\user\%%a" (
title \\Server\user\%%a
echo title \\Server\user\%%a>>C:\script\user\doit.cmd
Echo echo j^| cacls "\\Server\user\%%a" /T /C /E /G "domainname\%%a":F>>C:\script\user\doit.cmd
Echo echo j^| cacls "\\Server\user\%%a" /T /C /E /G "system":F>>C:\script\user\doit.cmd
Echo echo findstr /i "DENIED" C:\script\user\output.log.txt ^>C:\script\user\output.log.ini>>C:\script\user\doit.cmd
)
pause
C:\script\user\doit.cmd>C:\script\user\output.log.txt
findstr /i "DENIED" C:\script\user\output.log.txt >C:\script\user\output.log.ini
if exist C:\script\user\output.log.ini notepad C:\script\user\output.log.ini
Gruß
Moin,
Dr. House (TimoBeil) hat dir da echt eine machbare Sache geschrieben. Ergänzend von mir ein Tool-Tip; schaut's Dir einfach mal an. Ganz hilfreich und brauchbar in einer großen Domäne: LIZA-Tool.
Frank
Dr. House (TimoBeil) hat dir da echt eine machbare Sache geschrieben. Ergänzend von mir ein Tool-Tip; schaut's Dir einfach mal an. Ganz hilfreich und brauchbar in einer großen Domäne: LIZA-Tool.
Frank
Moin,
ich kann nur wärmstens die ASB-LanTools empfehlen http://www.asb-systemhaus.de/products/asbLANtools/asbLANtools.HTML
Gruß
24
ich kann nur wärmstens die ASB-LanTools empfehlen http://www.asb-systemhaus.de/products/asbLANtools/asbLANtools.HTML
Gruß
24