szumbusch 10 Geschrieben 4. Juni 2008 Melden Teilen Geschrieben 4. Juni 2008 Hallo Miteinander. Ich muss die Passwörter und Attribute von usern im AD regelmäßig und massenhaft ändern. Es handelt sich um Klausuraccounts, die nach der Benutzung wieder zurückgesetzt werden müssen. Dazu habe ich (Vielen Dank auch!) das folgende Script von Dr. Kiffer missbraucht: basestr = "ou=1-99,ou=Klausuraccounts,ou=Klassen,ou=xxx,dc=yyy,dc=zzz,dc=de" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.OpenTextFile("klaccounts.txt", 1) 'Text Datei getrennt mit ; Do While objTextFile.AtEndOfStream <> True strLine = objtextFile.ReadLine arruser = split(strline, ";") strusercn = getusercn(arruser(0),basestr) if strusercn <> "" then changepw strusercn,arruser(1) End If Loop Wscript.echo "Fertig :-)" Function changepw(usercn,strpw) <--------- Set objuser = GetObject(usercn) <--------- objUser.AccountDisabled = True <--------- objUser.SetPassword strpw <--------- End function Function getuserCN(struser,basestr) Const ADS_SCOPE_SUBTREE = 2 filterStr = "(&(objectclass=user)(samaccountname=" & struser & "))" Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCOmmand.ActiveConnection = objConnection objCommand.CommandText = _ "<LDAP://" & baseStr & ">;" & filterStr & ";ADsPath;subtree" objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE Set objRecordSet = objCommand.Execute On Error Resume Next objRecordSet.MoveFirst if err.number = 3021 then wscript.echo "Datensatz " & struser & " nicht gefunden" Exit Function End If Do Until objRecordSet.EOF getuserCN = objRecordSet.Fields(0) objRecordSet.MoveNext Loop End Function Damit bekomme ich das geänderte Passwort hin. Gleichzeitig muß ich noch das Account deaktivieren und den User zwingen, beim nächsten Login sein Passwort neu zu vergeben. Wie und an welcher Stelle kann ich das machen? Sorry für diese noob Frage, aber ich habe gerade erst angefangen, mich mit VB zu beschäftigen. Vielen Dank im Voraus, Sascha Zitieren Link zu diesem Kommentar
vmorbit 10 Geschrieben 5. Juni 2008 Melden Teilen Geschrieben 5. Juni 2008 google ist dein freund ;) Ezine 23 - UserAccountControl, VBScript enable user accounts Enable or disable user (VBScript) - Active Directory Cookbook, 2nd edition VBscript to disable user objects and move them to a different OU > ActiveDir.org > ActiveDir Articles 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.