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

问题描述:

我有一个驻留在网络驱动器上的应用程序。DirectorySearcher不适用于Windows 7 64位或32位网络

当程序从桌面上的XP机器或通过网络运行时,该程序适用于任何用户。当它从桌面上的Win 7运行时,它适用于所有人,但当它通过网络从Win 7运行时,对于权限较少的用户会失败。以下是代码。它未能在最后一行“昏暗信息搜索结果作为信息搜索结果= 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 

谁能告诉我什么是在网络权限丢失?

你似乎是使用服务器的绑定,可以尝试设置:

AuthenticationType = AuthenticationTypes.Secure | AuthenticationTypes.ReadonlyServer 

从MSDN文档上AuthenticationTypes.ReadOnlyServer

对于Active Directory域服务,这个标志表明写入服务器不可无服务器绑定所需的。

此外,您应该处置您的一次性对象,最好使用Using语句。例如:

Using directoryEntry = New DirectoryEntry... 

Using directorySearcher = new DirectorySearcher(...