获取无线网络上的当前域时的ActiveDirectoryServerDownException

时间:2013-05-02 21:00:34

标签: c# active-directory

我对C#中的Active Directory类有疑问。在我的程序中,我试图使用以下命令获取用户登录的当前域:

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帐户中记录的任何帐户,无论计算机运行的是什么计算机,或者计算机是否使用无线或有线连接连接到域。

你们中是否有人知道这个问题的答案,或者我能做些什么工作以使其发挥作用?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。问题的根源是我们的业务网络内部。我做了几件事:

  • 在主路由器上设置指向AD DNS服务器的第三个DNS地址。
  • 在无线网卡上,将AD DNS服务器的IP作为首选DNS服务器,将备用DNS服务器作为主路由器的IP。