DirectorySearcher不适用于Windows 7 64位或32位网络

时间:2011-09-07 20:13:36

标签: .net directoryservices

我有一个驻留在网络驱动器上的应用程序。

当程序从桌面上的XP计算机或通过网络运行时,该程序适用于任何用户。当它从桌面上的Win 7运行时,它适用于所有人,但是当它通过网络从Win 7运行时,对于权限较少的用户来说它会失败。下面是代码。它在最后一行失败“Dim searchResult As SearchResult = directorySearcher.FindOne”

Dim adpath As String = "LDAP://OU=orgOU,DC=ad,DC=orgDC,DC=edu"
Dim directoryEntry As New DirectoryEntry(adpath)
directoryEntry.AuthenticationType = AuthenticationTypes.Secure
Dim directorySearcher As New DirectorySearcher(directoryEntry)
directorySearcher.Filter = getFilter(samAccountName)
directorySearcher.SearchScope = SearchScope.Subtree
Dim searchResult As SearchResult = directorySearcher.FindOne

有人能告诉我网络权限中缺少什么吗?

1 个答案:

答案 0 :(得分:1)

您似乎使用无服务器绑定,请尝试设置:

AuthenticationType = AuthenticationTypes.Secure | AuthenticationTypes.ReadonlyServer

来自AuthenticationTypes.ReadOnlyServer上的MSDN文档:

  

对于Active Directory域服务,此标志表示无服务器绑定不需要可写服务器。

此外,您应该处理您的一次性物品,最好使用Using语句。类似的东西:

Using directoryEntry = New DirectoryEntry...

Using directorySearcher = new DirectorySearcher(...