Linuxx 10 Geschrieben 16. Februar 2005 Melden Teilen 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 ' Zitieren Link zu diesem Kommentar
chmu 10 Geschrieben 16. Februar 2005 Melden Teilen 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. Zitieren Link zu diesem Kommentar
Linuxx 10 Geschrieben 16. Februar 2005 Melden Teilen 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 :) Zitieren Link zu diesem Kommentar
F4irlight 10 Geschrieben 22. Februar 2005 Melden Teilen 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 :) Zitieren Link zu diesem Kommentar
Linuxx 10 Geschrieben 23. Februar 2005 Melden Teilen Geschrieben 23. Februar 2005 LDAP://OU=...,OU=...,DC=...,DC=.... jede OU = ein OU=..., hinzufügen immer von hinten gedacht Zitieren Link zu diesem Kommentar
cluster 10 Geschrieben 28. Februar 2005 Melden Teilen 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 Zitieren Link zu diesem Kommentar
Linuxx 10 Geschrieben 1. März 2005 Melden Teilen 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 :) ) Zitieren Link zu diesem Kommentar
F4irlight 10 Geschrieben 1. März 2005 Melden Teilen 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 Zitieren Link zu diesem Kommentar
Linuxx 10 Geschrieben 1. März 2005 Melden Teilen 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 Zitieren Link zu diesem Kommentar
chmu 10 Geschrieben 8. März 2005 Melden Teilen 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 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 8. März 2005 Melden Teilen 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 Zitieren Link zu diesem Kommentar
chmu 10 Geschrieben 8. März 2005 Melden Teilen 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. Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 8. März 2005 Melden Teilen Geschrieben 8. März 2005 tja schade aber auch, dann passt diese Batch so nicht exact zu deiner TXT-Datei. Zitieren Link zu diesem Kommentar
Linuxx 10 Geschrieben 9. März 2005 Melden Teilen 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 Zitieren Link zu diesem Kommentar
Flax! 10 Geschrieben 16. März 2005 Melden Teilen 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......... Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.