Resette AD password når OU er ukendt
Jeg sidder og bøvler lidt med et script, men lad mig starte med at fortælle hvad jeg har brug for: Alle vores brugere er opdelt i forskellige OU'er i forskellige afdelinger og tilhørsforhold. Jeg har brug for et simpelt script der spørger efter brugernavn og nulstiller koden for denne. Jeg kan ikke rigtig finde nogle eksempler når viser hvordan det kan lade sig gøre.Jeg faldt over følgende script der blot tjekker om et givent brugernavn og adgangskode stemmer overens uanset OU:
------------------------------------------------
Set objNetwork = CreateObject("WScript.Network")
strDomain = objNetwork.UserDomain
Const ADS_SECURE_AUTHENTICATION = 1
strUsername=InputBox("Enter Username:")
strPassword=InputBox("Enter Password:")
Set objDS = GetObject("LDAP:")
On Error Resume Next
Set objDomain = objDS.OpenDSObject("LDAP://" & strDomain, strUsername, strPassword, ADS_SECURE_AUTHENTICATION)
If Err.Number Then
WScript.Echo _
"For user:" & vbCrLf & _
" " & strDomain & "\" & strUsername & vbCrLf & _
"Error Number:" & vbCrLf & _
" " & Err.Number & vbCrLf & _
"Error Description:" & vbCrLf & _
" " & Err.Description
Else
WScript.Echo _
"Valid password entered for user" & vbCrLf & _
" " & strDomain & "\" & strUsername
End If
On Error Goto 0
----------------------------------------------------------
Hvis ovenstående virker, mener jeg også det burde kunne lade sig gøre med at nulstille en kode også. <Problemet tror jeg ligger i mit LDAP-kald, bruger GetObject("LDAP://Name=" & user & ",DC=DOMÆNE"), men den kommer med diverse fejlkoder.