Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Web na reset hesla uživatele v Active Directory

Přímo to nefungovalo. Je nutná např. autorizace na LDAP serveru a aby bylo nastaveno, že si uživatel musí heslo při příštím přihlášení změnit, je nutné přidat jeden krátký příkaz.

Tento skript už funkční je, který jsem poté implementoval do ASP stránky.

Na stránky se uživatelé zatím autorizují pomocí základního ověřování a tyto údaje jsou pak použity pro připojení k LDAP.

On Error Resume Next
Const ADS_SCOPE_SUBTREE = 2
 
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
 
objConnection.Properties("User ID") = "DOMENA\Username"
objConnection.Properties("Password") = "Password"
objConnection.Properties("Encrypt Password") = TRUE
objConnection.Properties("ADSI Flag") = 3
 
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
 
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
 
objCommand.CommandText = _
    "SELECT distinguishedName FROM 'LDAP://dc=test,dc=local' WHERE objectCategory='user' " & _
        "AND sAMAccountName='" & pUsername & "'"
Set objRecordSet = objCommand.Execute
 
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    vOU = objRecordSet.Fields("distinguishedName").Value
    objRecordSet.MoveNext
Loop
 
Set objUser = GetObject ("LDAP://" & vOU)

objUser.SetPassword pPassword
objUser.Put "pwdLastSet", "0"

objUser.SetInfo

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny