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 アカウントにログインしているすべてのアカウントで機能するはずです。
その問題に対する答え、またはそれを機能させるために私ができる回避策を知っている人はいますか?