我正在使用 .NET 4.0 并调用 DirectoryEntry.NativeObject 来针对 AD 验证用户的凭据。
如果在 AD 中为用户设置了“用户下次登录时必须更改密码”标志,DirectoryEntry.NativeObject 调用将引发 DirectoryServicesCOMException。然后,我可以使用 DirectoryServicesCOMException 中的信息来确定失败是否是因为设置了更改密码标志。
这适用于某些 Windows 2008 AD 服务器,但适用于其他 Windows 2008 AD 服务器,而不是抛出 DirectoryServicesCOMException,而是抛出 COMException,我无法确定失败的原因,因为我没有提供的相同信息DirectoryServicesCOMException。
我不确定服务器之间的哪些差异会导致引发不同的异常。
有谁知道为什么在某些服务器上抛出 COMException 而不是 DirectoryServicesCOMException?
如果抛出 COMException,有谁知道如何获取有关错误的其他信息?HRESULT 是不够的。
谢谢。