由于经常有人问及此方面的问题所以我将整理出来的代码放到这里,大家参考一下: 
  使用前请添加COM引用:Active DS Type Library 
  一下代码在VB.NET下编译通过 
  Function DomainPassWord() As String 
  Dim info As New ActiveDs.ADSystemInfoClass() 
  Dim retDomain As String 
  retDomain = havedomainname(info.DomainDNSName) 
  Dim OUname As String = "Users " 
  Call getuser(retDomain, "Administrator ", OUname, " ", " ") 
  End Function 
  Private Sub getuser(ByVal strDomain As String, ByVal strUser As String, ByVal organizationname As String, ByVal oldPasswd As String, ByVal newPasswd As String) 
  Dim user As ActiveDs.IADsUser 
  Try 
  user = GetObject( "LDAP://CN= " & strUser & ", " & organizationname & ", " & strDomain) 
  user.ChangePassword(oldPasswd, newPasswd) 
  Catch ex As Exception 
  Response.Write( " <script >alert('更改用户密码时发生错误( " & ex.Source & "): " & ex.Message & "') </script > ") 
  Response.End() 
  End Try 
  End Sub 
  Function havedomainname(ByVal strdomainName As String) 
  Dim a(), b, d As String, i, e As Integer 
  a = Split(strdomainName, ". ", -1, 1) 
  e = UBound(a) 
  For i = 0 To e 
  If i < > e Then 
  b = a(i) 
  d = d & "DC= " & a(i) & ", " 
  Else 
  d = d & "DC= " & a(i) 
  End If 
  Next 
  havedomainname = d 
  End Function
              
标签:


