c# - 在 Active Directory 中找不到锁定属性 (C#)

标签 c# active-directory

首先,我知道有很多关于这个主题的帖子,但是我找到的所有信息对我的情况没有帮助。发生的情况是我找不到用于锁定 AD 中用户的属性的位置。我用过

link text

对于 AD 的其他所有内容,它都有效,但是,如果帐户被锁定,则 userAccountControl 的位图不会更改。尝试访问 lockoutTime 会返回异常,指出找不到该属性。唯一可以远程工作的是

user.InvokeGet("IsAccountLocked")

调用,但无论账户是否被锁定,总是返回 false。

如果有人有任何想法,这将非常有帮助或可能对我有帮助的链接。

谢谢

最佳答案

如果您使用 .NET 3.5,则应使用 UserPrincipal System.DirectoryServices.AccountManagement 命名空间中的类。这个类有一个 IsAccountLockedOut()方法以及获取 AccountLockOutTime 的属性.

using (var context = new PrincipalContext( ContextType.Domain ))
{
     using (var user = UserPrincipal.FindByIdentity( context,
                                                     IdentityType.SamAccountName,
                                                     name ))
     {
          if (user.IsAccountLockedOut())
          {
              ... your code here...
          }
     }
}

关于c# - 在 Active Directory 中找不到锁定属性 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1166263/

相关文章:

java - 由 : java.net.MalformedURLException 引起:没有使用 ADAL 的 PublicClient 示例的协议(protocol)

c# - HttpClient 请求抛出 IOException

c# - 将 SQL Server Express 2008 降级到 SQL Server Express 2005?

c# - 自动登录 Active Directory

powershell - 使用 PowerShell 的 ActiveDirectory 模块 : changing the user's OU 设置 ADUser

powershell - 获取联系人通讯组

tomcat - 对 solaris 上托管的 Web 应用程序使用 Windows 网络域身份验证

c# - ThreadPool - WaitAll 64 句柄限制

c# - 通过加载 MVC 复选框,选中以禁用文本框

c# - 如何 Type T = Type.GetType ("SomeClass");给我一个物体?