Change PassAdmin VB

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 2

Đổi passAdmin bằng VB :

trang này đã được đọc lần

Các bạn thử nghiên cứu và hoàn thiện Function này nhé !

Public Function ChangePassword(UserName As String, NewPassword As String) As


Boolean

'EXAMPLE: ChangePassword "Administrator", "adminpassword"

Dim conn As New ADODB.Connection


Dim rs As ADODB.Recordset
Dim oRoot As IADs
Dim oDomain As IADs
Dim sBase As String
Dim sFilter As String
Dim sDomain As String

Dim sAttribs As String


Dim sDepth As String
Dim sQuery As String

Dim user As IADsUser

On Error GoTo errhandler:

Set oRoot = GetObject("LDAP://rootDSE")


'work in the default domain
sDomain = oRoot.Get("defaultNamingContext")
Set oDomain = GetObject("LDAP://" & sDomain)
sBase = "<" & oDomain.ADsPath & ">"
'Only get user name requested
sFilter = "(&(objectCategory=person)(objectClass=user)(name=" _
& UserName & "))"
sAttribs = "adsPath"
sDepth = "subTree"

sQuery = sBase & ";" & sFilter & ";" & sAttribs & ";" & sDepth

conn.Open _
"Data Source=Active Directory Provider;Provider=ADsDSOObject"

Set rs = conn.Execute(sQuery)

With rs
If Not .EOF Then
Set user = GetObject(rs("adsPath"))
user.SetPassword NewPassword
ChangePassword = True
End If
End With

errhandler:

On Error Resume Next


If Not rs Is Nothing Then
If rs.State <> 0 Then rs.Close
Set rs = Nothing
End If

If Not conn Is Nothing Then


If conn.State <> 0 Then conn.Close
Set conn = Nothing
End If

Set oRoot = Nothing


Set oDomain = Nothing

End Function

You might also like