Jump to content

VBS Noob braucht hilfe mit objusr.***


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...