Veröffentlicht 13. November 200816 j Abend, ich benutze ein VB-Script um User in meiner ADS anzulegen. Das Script zu verstehen ist ja nicht sonderlich schwer. Nur was hat der Befehl b.Put zu sagen? Wofür steht der? Und wofür steht b.SetInfo? Das müssten Befehle für die WshShell sein oder? Nur was bewirken die genau? Verstehe den Zusammenhang nicht wirklich. Gruß Johannes Bearbeitet 13. November 200816 j von Maenneken
14. November 200816 j Hallo, Passt das Thema nicht besser in den Bereich Programmierung? :-) Kannst du das Script vieleicht hier hin kopieren? b. wird ja vermutlich irgendein Objekt einer Klasse sein. Wenn ich wüsste welche Klasse es ist könnte ich nach einer Beschreibung seiner methoden suchen. Gruß Boro Bearbeitet 14. November 200816 j von Boro
14. November 200816 j die angesprochenen methoden sind jene des IADS-interfaces der ADSI-schnittstelle. um u.a. netzwerkroudtrips zu reduzieren, werden änderungen von objekten mittels Put in einem cache abgelegt und erst mit SetInfo festgeschrieben. das hätte man im übrigen auch der dokumentation entnehmen können. s'Amstel
15. November 200816 j hier das gesamte 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(0) Vorname = Feld(1) Nachname = Feld(2) Passwort = Feld(3) Stadt = Feld(4) PLZ = Feld(5) Postfach = Feld(6) Bundesland = Feld(7) StrasseZeile1 = Feld(8) StrasseZeile2 = Feld(9) Call BenuntzerAnlegen(Benutzer,Vorname,Nachname,Passwort,Stadt,PLZ,Postfach,Bundesland,StrasseZeile1,StrasseZeile2) Loop f.Close Wscript.Quit(0) Sub BenuntzerAnlegen (Benutzer,Vorname,Nachname,Passwort,Stadt,PLZ,Postfach,Bundesland,StrasseZeile1,StrasseZeile2) Dim ouo, b ' Der Benutzer wird in der OU "Benutzer" angelegt, die wiederum eine Unter-OU von "muensterland-it" ist Set ouo = GetObject("LDAP://OU=Benutzer,OU=muensterland-it,DC=muensterland-it,DC=de") Set b = ouo.Create("user", "CN=" & Nachname & ", " & Vorname ) Dim WshShell, ret Set WshShell = WScript.CreateObject("WScript.Shell") b.Put "sAMAccountName", Benutzer b.Put "displayName", Nachname & ", " & Vorname b.Put "givenName", Vorname b.Put "sn", Nachname b.Put "userAccountControl", 66082 b.Put "userPrincipalName", Benutzer & "@domaene.de" b.Put "profilePath", "\\Server\daten\profile\" & Benutzer b.Put "homeDirectory", "\\Server\daten\user\" & Benutzer b.Put "homeDrive", "U:" b.Put "scriptPath", "login.bat" b.Put "c", "DE" b.Put "co", "Deutschland" b.Put "l", Stadt b.Put "postalCode", PLZ b.Put "postOfficeBox", Postfach b.Put "st", Bundesland b.Put "streetAddress", StrasseZeile1 & vbCrlf & StrasseZeile2 & vbCrlf b.TerminalServicesHomeDirectory = "\\Server\daten\user\" & Benutzer b.TerminalServicesHomeDrive = "U:" b.TerminalServicesProfilePath = "\\Server\daten\profile\Terminal\" & Benutzer b.Put "pwdLastSet", 0 b.Setinfo ' Dass Kennwort in der Datei USER.TXT muss zwingend den Kennwortrichtlinien entsprechen b.SetPassword Passwort b.AccountDisabled = False b.SetInfo WScript.Sleep(1000) ret = WshShell.Run ("verz.cmd " & Benutzer,0,1) End Sub aus welcher Doku kann ich das entnehmen bitte? Gruß Johannes
15. November 200816 j Das ist z.B. hier beschrieben: SelfADSI : Verzeichnisobjekte erzeugen Sowas finden man ganz gut wenn man die Methode Getobject und den ersten Teil der Klasse mit angibt. Ich z.B. hiernach gesucht GetObject("LDAP://OU"
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.