Похоже, что .NET 3.5 добавил новое пространство имен для решения этой проблемы - System.DirectoryServices.AccountManagement. Пример кода ниже:
Private Function ValidateExternalUser(ByVal username As String, ByVal password As String) As Boolean
Using context As PrincipalContext = New PrincipalContext(ContextType.Domain, _defaultDomain)
Return context.ValidateCredentials(username, password, ContextOptions.Negotiate)
End Using
End Function
Пространство имен также, по-видимому, предоставляет множество методов для управления учетной записью домена (изменение паролей, истечение срока действия паролей и т. Д.).