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(...