2013-05-02 37 views
0

我在使用C#中的Active Directory類時遇到問題。在我的節目一個時刻,我試圖讓當前域使用以下命令的用戶登錄:在無線網絡上獲取當前域時出現ActiveDirectoryServerDownException

Domain.GetCurrentDomain(); 

大部分的時間,它的工作原理。但是,從無線筆記本電腦運行時,它給了我下面的錯誤:

System.DirectoryServices.ActiveDirectory.ActiveDirectoryServerDownException: The server is not operational. 

    Name: "DOMAIN.ca" 
    ---> System.Runtime.InteropServices.COMException: The server is not operational. 

     at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) 
     at System.DirectoryServices.DirectoryEntry.Bind() 
     at System.DirectoryServices.DirectoryEntry.get_AdsObject() 
     at System.DirectoryServices.PropertyValueCollection.PopulateList() 
    at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName) 
    at System.DirectoryServices.PropertyCollection.get_Item(String propertyName) 
    at System.DirectoryServices.ActiveDirectory.PropertyManager.GetPropertyValue(DirectoryContext context, DirectoryEntry directoryEntry, String propertyName) 
    --- End of inner exception stack trace --- 
    at System.DirectoryServices.ActiveDirectory.PropertyManager.GetPropertyValue(DirectoryContext context, DirectoryEntry directoryEntry, String propertyName) 
    at System.DirectoryServices.ActiveDirectory.Domain.GetDomain(DirectoryContext context) 
    at System.DirectoryServices.ActiveDirectory.Domain.GetCurrentDomain() 
    at ADT.ADTools.ComputerIsInDomain() 

在我的具體情況,這段代碼應該記錄在Active Directory帳戶的任何帳戶,則無論計算機的它正在跑或者如果計算機使用無線或有線連接連接到域。

您是否有人知道該問題的答案或我可以做的任何解決方法使其工作?

回答

0

我解決了這個問題。問題的根源在於我們的業務網絡。我做了幾件事情:

  • 在主路由器上建立第三個DNS地址,指向AD DNS服務器。
  • 在無線網卡上,將AD DNS服務器的IP作爲首選DNS服務器,並將主路由器的IP作爲備用DNS服務器。
+0

人們添加輔助DNS控制器,像谷歌的服務器8.8.8.8,以爲它會幫助,是非常令人沮喪,因爲它會導致所有基於AD認證,域控制器查找等各種悲傷的只是讓你的內部DNS服務器處理工作。它可以將請求轉發到外部服務器,甚至可以緩存使用網絡上其他PC的結果。雙贏。 – 2016-09-11 09:02:26