Batch erstellen um User in die AD hinzuzufügen
Hallo!
Kurz zu mir ;)
Ich mache im Moment eine Ausbildung als Netzwerktechniker!
Die Aufgabe besteht darin durch Scripte User anzulegen in der ADS, jeden einen Ordner erstellen und als Home Laufwerk zuzuweisen!
Desweiteren soll der User in eine Gruppe verschoben werden!
Da unser Mentor rein gar nichts dazu sagte, habe ich mich vor 2 Tagen daran gemacht das Problem zu lösen!
Leider nur mit mäßigen Erfolg
Ich habe verdammt viele Foren zum Thema Batch gelesen und auch schon einiges geschafft!
Noch kurz zur Aufgabe, die User sollen aus Textdateien angelegt werden, diese sehen folgendermaßen aus:
Max Mustermann
Heinz Kowalski
usw
Der Username soll sich aus dem ersten Buchstaben des Vornamens und max. 7 Zeichen des Nachnamens bestehen.
Ich habe nun schon ein Script geschrieben mit hilfe eines guten Tutorials hier auf dem Board ;) , welches jeweils den Anfangsbuchstaben auslesen kann und die 7 des nachnamens.
Diese Speicher ich zu testzwecken in einer Textdatei ab:
das Ergebnis bei meinem Script:
M
H
Musterm
Kowalsk
nur wie bekomm ich dies zusammen und eventuell noch normalisiert?
ich hätte gern alle Usernamen kleingeschrieben damit es nicht zu Missverständnissen kommt!
Hier mal der Teil des Scriptes für die namen:
setlocal enabledelayedexpansion
for /f "tokens=1" %%i in (namen.txt) do (
set a=%%i
set a=!a:~0,1!
echo !a! >> hier.txt
)
for /f "tokens=2" %%i in (namen.txt) do (
set a=%%i
set a=!a:~0,7!
echo !a! >> hier.txt
)
Ich bin wirklich mit meinem Latein am Ende
Kurz zu mir ;)
Ich mache im Moment eine Ausbildung als Netzwerktechniker!
Die Aufgabe besteht darin durch Scripte User anzulegen in der ADS, jeden einen Ordner erstellen und als Home Laufwerk zuzuweisen!
Desweiteren soll der User in eine Gruppe verschoben werden!
Da unser Mentor rein gar nichts dazu sagte, habe ich mich vor 2 Tagen daran gemacht das Problem zu lösen!
Leider nur mit mäßigen Erfolg
Ich habe verdammt viele Foren zum Thema Batch gelesen und auch schon einiges geschafft!
Noch kurz zur Aufgabe, die User sollen aus Textdateien angelegt werden, diese sehen folgendermaßen aus:
Max Mustermann
Heinz Kowalski
usw
Der Username soll sich aus dem ersten Buchstaben des Vornamens und max. 7 Zeichen des Nachnamens bestehen.
Ich habe nun schon ein Script geschrieben mit hilfe eines guten Tutorials hier auf dem Board ;) , welches jeweils den Anfangsbuchstaben auslesen kann und die 7 des nachnamens.
Diese Speicher ich zu testzwecken in einer Textdatei ab:
das Ergebnis bei meinem Script:
M
H
Musterm
Kowalsk
nur wie bekomm ich dies zusammen und eventuell noch normalisiert?
ich hätte gern alle Usernamen kleingeschrieben damit es nicht zu Missverständnissen kommt!
Hier mal der Teil des Scriptes für die namen:
setlocal enabledelayedexpansion
for /f "tokens=1" %%i in (namen.txt) do (
set a=%%i
set a=!a:~0,1!
echo !a! >> hier.txt
)
for /f "tokens=2" %%i in (namen.txt) do (
set a=%%i
set a=!a:~0,7!
echo !a! >> hier.txt
)
Ich bin wirklich mit meinem Latein am Ende
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 201862
Url: https://administrator.de/forum/batch-erstellen-um-user-in-die-ad-hinzuzufuegen-201862.html
Ausgedruckt am: 07.04.2025 um 06:04 Uhr
7 Kommentare
Neuester Kommentar
Hallo Esry84, willkommen im Forum.
Mit Batch ist das tatsächlich etwas suboptimal.
1. Teste ...
und 2. Bete ...
dass nie so etwas wie "Karl-Theodor Maria Nikolaus Johann Jacob Philipp Franz Joseph Sylvester Freiherr von und zu Guttenberg" (natürlich nur des Namens wegen
) in deiner Textdatei auftaucht. Ein Vor- und ein Nachname, Punkt sonst nix.
Grüße
rubberman
Mit Batch ist das tatsächlich etwas suboptimal.
1. Teste ...
@echo off &setlocal
>"hier.txt" (
for /f "usebackq tokens=1*" %%i in ("namen.txt") do (
set "vorname=%%i"
set "nachname=%%j"
setlocal EnableDelayedExpansion
set "name=!vorname:~0,1!!nachname:~0,7!"
for %%k in ("A=a","B=b","C=c","D=d","E=e","F=f","G=g","H=h","I=i","J=j","K=k","L=l","M=m","N=n","O=o","P=p","Q=q","R=r","S=s","T=t","U=u","V=v","W=w","X=x","Y=y","Z=z"," =") do (
set "name=!name:%%~k!"
)
echo !name!
endlocal
)
)
und 2. Bete ...
dass nie so etwas wie "Karl-Theodor Maria Nikolaus Johann Jacob Philipp Franz Joseph Sylvester Freiherr von und zu Guttenberg" (natürlich nur des Namens wegen
Grüße
rubberman
Hallo Esry84.
Grüße
rubberman
... das ich das Anmeldescript nicht per Hand eintragen muss in der ADS?
Ich habe noch nie etwas mit Benutzerverwaltung zu tun gehabt. Ich gehe aber davon aus dass du in deinem Script mit dsmod arbeitest, oder? In dem Fall hätte dsmod user
die Option -loscr
zu diesem Zweck. Mehr kann ich dazu aber nicht beitragen. Ggf. solltest du mal hier stöbern oder nachfragen.Grüße
rubberman