Linuxx 10 Geschrieben 16. Februar 2005 Melden Geschrieben 16. Februar 2005 In dem Vorliegenden Script in diesem thread einfach dahinter legen ... für Gruppererstellung müsste ich nochmal schauen. hier kannst du aber schön die Memberof - Sachen mit machen. DommainString = Servername Groupestring = Name der Gruppe die der User standardmäßig hinzugefügt werden soll UserString = Userkürzel Bei mir habe ich noch eine Fehlergruppe wenn es eine Gruppe nicht gibt! Denn Rechtschreibfehler bedeuten sonst neue Gruppen :) ' Die Gruppe wird gesucht und als Ziel definiert. Set GroupObj = GetObject("" &"WinNT://" & _ DomainString &"/"& GroupString &"") ' Der User wird in die entsprechende Gruppe integriert. GroupObj.Add (""&"WinNT://"& _ DomainString &"/"& UserString &"") Set DomainObj = Nothing ' Variable wird frei gegeben ' Set GroupObj = Nothing ' Variable wird frei gegeben '
chmu 10 Geschrieben 16. Februar 2005 Melden Geschrieben 16. Februar 2005 Erst mal fettes danke das sich jemand dieser Sache mit annimmt, da ich ja nicht wirklich der Script profi bin bin ich sehr dankbar für die Hilfe. :jau: Da ich denn Server gerade nicht an der Hand habe spiele ich das mal so durch : edit 1 "VMware sei dank ich kanns doch testen" aber was soll ich sagen es klappt so nicht, wenn ich das richtig sehe dann muss ich die Gruppe ja aus der TXT lesen dazu sollte sie deffiniert sein. was ich in zeile 13 ja mache GroupObj = Feld(3) aber genau da habe ich schon denn Fehler das das Script stopt Fehlermeldung : Index außerhalb des gültigen bereichs. User Datei Name1,Vorname1, Password1,Gruppe1 Name2,Vorname2, Password2,Gruppe2 Script Dim fso, f, Zeile, Feld Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile ("user.txt",1,0) Do while not f.AtEndOfLine Zeile = f.readLine Feld = split(Zeile,",") Benutzer = Feld(1) Vorname = Feld(1) Nachname = Feld(0) Passwort = Feld(2) GroupObj = Feld(3) Call BenuntzerAnlegen(Benutzer,Vorname,Nachname,Passwort,GroupOb) Loop f.Close Wscript.Quit(0) Sub BenuntzerAnlegen (Benutzer,Vorname,Nachname,Passwort) Dim ouo, b Set ouo = GetObject("LDAP://OU=user,DC=domaene,DC=de") Set b = ouo.Create("user", "CN=" & Vorname & " " & Nachname) Dim WshShell, ret Set WshShell = WScript.CreateObject("WScript.Shell") b.Put "sAMAccountName", Benutzer b.Put "userPrincipalName", Benutzer & "@domaene.de" b.Put "profilePath", "\\server\daten\profile\" & Benutzer b.Put "homeDirectory", "\\server\daten\home\" & Benutzer b.Put "homeDrive", "U:" b.SetInfo b.SetPassword Passwort b.AccountDisabled = False b.SetInfo WScript.Sleep(1000) ret = WshShell.Run ("verz.cmd " & Benutzer,0,1) ' Die Gruppe wird gesucht und als Ziel definiert. Set GroupObj = GetObject("" &"WinNT://" & _ DomainString &"/"& GroupString &"") ' Der User wird in die entsprechende Gruppe integriert. GroupObj.Add (""&"WinNT://"& _ DomainString &"/"& UserString &"") Set DomainObj = Nothing ' Variable wird frei gegeben ' Set GroupObj = Nothing ' Variable wird frei gegeben ' End Sub Ich werde das morgen mal testen, und dann mal einen Staus geben wie das so ausieht und ob ich noch ein Problem habe, bzw wie ich es beseitigt habe, sollte jemandem was auffallen kann er mich ja schon mal drauf aufmerksam machen :) Spart immer wieder Stundenlanges sitzen weil man den Fehler mal wieder selber nicht sieht.
Linuxx 10 Geschrieben 16. Februar 2005 Melden Geschrieben 16. Februar 2005 Also wenn ich das richtig sehe hast du bis jetzt ein Copy & Paste gemacht aber das System dahinter noch nicht verstanden, daher denke ich das ich dir mal per PM mal auf die Sprünge helfe :) Ein Fazit schreibt dann einer von uns beiden hier ans Board :)
F4irlight 10 Geschrieben 22. Februar 2005 Melden Geschrieben 22. Februar 2005 Also soweit funktioniert alles. Ich habe da aber noch eine Frage. Ich habe eine OU unterhalt einer OU :) wie muss das script aussehen, das ich direkt die User in die untere OU zu packen. Danke schonmal :)
Linuxx 10 Geschrieben 23. Februar 2005 Melden Geschrieben 23. Februar 2005 LDAP://OU=...,OU=...,DC=...,DC=.... jede OU = ein OU=..., hinzufügen immer von hinten gedacht
cluster 10 Geschrieben 28. Februar 2005 Melden Geschrieben 28. Februar 2005 Hallo, hat jmd vielleicht ne Idee, wie ich in das Script noch die Option "Benutzer kann das Kennwort nicht ändern" mit einbaue? Ich hab bei Microsoft diesen Artikel gefunden, aber blicke echt nicht durch. Ein bisschen viel Script für einen Harken der gesetzt wird. http://www.microsoft.com/technet/scriptcenter/scripts/ad/users/pwds/uspwvb11.mspx Gruß clu
Linuxx 10 Geschrieben 1. März 2005 Melden Geschrieben 1. März 2005 Den Link den du gefunden hast ist dooch prima und zeigt auf das du, um an die flags heranzukommen, wohl wirklich nicht dran vorbei kommst. Ich habe das bei mir noch nicht integriert und sehe auch nicht so den Sinn drin, besonders da in größeren Firmen die Wahl des Passwortes "ein persönliches Gut" ist. http://www.microsoft.com/technet/scriptcenter/guide/sas_usr_vrbt.mspx Ist noch eine Referenz für die sich versuchen wollen, denn ganz alles was oben im Link --> Skript ist wird nicht gebraucht. Bei der Erschaffung eines Users noch etwas weniger, da die meisten Umgebungsvariablen schon gegeben sind. Linuxx (Etwas in Eile :) )
F4irlight 10 Geschrieben 1. März 2005 Melden Geschrieben 1. März 2005 hm, ok das hilft mir auch etwas weiter. :) Linuxx, hast du ein einen Tipp wie ich so erstellte user direkt in eine Gruppe schieben kann ? Dann bin ich glücklich und hab mein Script (hoffe ich) endlich fertig. Danke schonmal
Linuxx 10 Geschrieben 1. März 2005 Melden Geschrieben 1. März 2005 siehe weiter Oben ein Posting von mir :) da habe ich das schon umgesetzt. Gruppe muss jedoch vorher bestehen. (#61) Linuxx
chmu 10 Geschrieben 8. März 2005 Melden Geschrieben 8. März 2005 Hi @ all erst mal hier ein dank an Linuxx klasse hast mir super geholfen. Aber da ich gerade noch nen fehler habe, das -Benutzer ohne PW eingetragen werden -Benutzer ist deaktivert Wollte ich mal fragen ob hier jemand nen Vorschlag hat wie man das beseitigen kann. Dim fso, f, Zeile, Feld, WshShell, b Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile ("user.txt",1,0) Do while not f.AtEndOfLine Zeile = f.readLine Feld = split(Zeile,",") Vorname = Feld(0) Nachname = Feld(1) pw = Feld(2) Gruppe = Feld(3) Set b = nothing Set WshShell = nothing Set WshShell = WScript.CreateObject("WScript.Shell") Set ouo = GetObject(""&"LDAP://OU=students,DC=home,DC=local"&"") Set b = ouo.Create("user", "CN=" & Vorname) With b .sn = Vorname .givenName = Nachname .displayName = Vorname &" "& Nachname .samaccountname = Vorname .userPrincipalName = Vorname& ""&"@home.local"&"" .profilePath = "\\127.0.0.1\daten\profile\"& Vorname .homeDirectory = "\\127.0.0.1\daten\home\"& Vorname .homeDrive = "z:" .pwdLastSet = 0 .SetInfo Set GroupObj = GetObject("" &"WinNT://home/"& Gruppe &"") GroupObj.Add (""&"WinNT://home/"& Vorname &"") WScript.Sleep(1000) ret = WshShell.Run ("verz.cmd " & Vorname,0,1) End With loop f.close Wscript.Quit
blub 115 Geschrieben 8. März 2005 Melden Geschrieben 8. März 2005 hi, man kanns auch mit nem Einzeiler auf Commandline lösen ------ For /F "eol=; tokens=1,2,3,4 delims=, " %i in (users.txt) DO dsadd user cn=%i,ou=students,dc=home,dc=local -fn %j -pwd %k -disabled %l ---- bei diesem Beispiel steht in der userst.txt in der 1. Spalte der distinguishedname des users, in der 2.Spalte sein Vorname, in der dritten das password und in der 4. spalte ein yes or no für disabled or enabled ein ";" am Zeilenanfang kommentiert eine Zeile aus, getrennt sind Spalten durch ein Komma oder ein Leerzeichen. Per dsadd user /? kannst du dir für alle userattribute die parameter ansehen. Je nach anzahl must du halt bei tokens weiterzählen und am Ende den Parameter mit einem %Buchstaben setzen z.B. -profilepath %o etc. gleiche Zeile funktioniert auch bei jedem anderen Objecttyp cu blub
chmu 10 Geschrieben 8. März 2005 Melden Geschrieben 8. März 2005 na ja das kann wohl sein aber in meiner TXT stehts etwas anders userID,Anmeldename ,PW, Klasse Dasscript von der vorseite übernimmt auch die zuordnung zu einer Gruppe. allerdings standartmässig deaktiviert, was ja nicht so schlimm ist. Viel schlimmer finde ich das kein PW vergeben ist.
blub 115 Geschrieben 8. März 2005 Melden Geschrieben 8. März 2005 tja schade aber auch, dann passt diese Batch so nicht exact zu deiner TXT-Datei.
Linuxx 10 Geschrieben 9. März 2005 Melden Geschrieben 9. März 2005 hier die Antworten zu den Fragen, die noch offen sind: Deaktivierte Benutzer: .AccountDisabled = False (mit in der with-Schleife, vor und nach dieser Sache sollte ein .SetInfo stehen) Passwort setzen: .setpassword "passwortfürdenbenutzer" (in der with-Schleife, zwischen die beiden .SetInfos) Linuxx
Flax! 10 Geschrieben 16. März 2005 Melden Geschrieben 16. März 2005 Hi, bin neu hier... wollte grad das script vom thorgood nehmen wo auf der ersten seite stand. habe einen w2k server mit sp4. der server heisst w2kdom. die domaene home.local ich habe sogar ne ou angelegt mit dem namen test habe das script demenstprechend abgeändert: adduser.vbs __________ Dim fso, f, Zeile, Feld Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile ("user.txt",1,0) Do while not f.AtEndOfLine Zeile = f.readLine Feld = split(Zeile,",") Benutzer = Feld(0) Vorname = Feld(1) Nachname = Feld(2) Passwort = Feld(3) Call BenuntzerAnlegen(Benutzer,Vorname,Nachname,Passwort) Loop f.Close Wscript.Quit(0) Sub BenuntzerAnlegen (Benutzer,Vorname,Nachname,Passwort) Dim ouo, b Set ouo = GetObject("LDAP://OU=home,DC=local") LINE 19 Set b = ouo.Create("user", "CN=" & Vorname & " " & Nachname) LINE 20 Dim WshShell, ret Set WshShell = WScript.CreateObject("WScript.Shell") b.Put "sAMAccountName", Benutzer b.Put "userPrincipalName", Benutzer & "@domaene.de" b.Put "profilePath", "\\w2kdom\user_daten\profile\" & Benutzer b.Put "homeDirectory", "\\w2kdom\user_daten\home\" & Benutzer b.Put "homeDrive", "U:" b.SetInfo b.SetPassword Passwort b.AccountDisabled = False b.SetInfo WScript.Sleep(1000) ret = WshShell.Run ("verz.cmd " & Benutzer,0,1) End Sub ------------------------------------------ nun das problem. der fehler ist in zeile 19 zeichen 1 Eine referenzauswertung wurde vom server zurückgesendet. ich möchte das die user in die ou test angelegt werden. nur irgendwie schaff nich weiter zu kommen.........
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden