2011-09-07 86 views
1

我有一個駐留在網絡驅動器上的應用程序。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 

誰能告訴我什麼是在網絡權限丟失?

回答

1

你似乎是使用服務器的綁定,可以嘗試設置:

AuthenticationType = AuthenticationTypes.Secure | AuthenticationTypes.ReadonlyServer 

從MSDN文檔上AuthenticationTypes.ReadOnlyServer

對於Active Directory域服務,這個標誌表明寫入服務器不可無服務器綁定所需的。

此外,您應該處置您的一次性對象,最好使用Using語句。例如:

Using directoryEntry = New DirectoryEntry... 

Using directorySearcher = new DirectorySearcher(...