c# 检查 Windows 帐户是否在特定域中被锁定

标签 c# active-directory

我正在尝试做一些我什至不知道是否可行的事情。 我有一个基于 C# 的 Web 应用程序,它在特定服务器上运行。我想构建一个代码,用户在其中引入应用程序运行的域(此服务器取决于客户端,对于每个客户端,它显然在不同的服务器上运行)并且应用程序返回该域的本地 Windows 用户帐户和信息,说明是否用户是否被锁定。

我尝试过使用 Win32_UserAccount,但它似乎获得了我当前使用的网络的用户。

这可能吗?

非常感谢 问候, 弗拉维奥·贾斯蒂诺

最佳答案

尝试

using(PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "domain"))
{
        using(UserPrincipal usr = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, "username"))
        {
            usr.IsAccountLockedOut(); //Gets if account is locked out
        }   
}

您需要添加依赖项 System.DirectoryServices.AccountManagement.dll 才能使上述代码正常工作。

关于c# 检查 Windows 帐户是否在特定域中被锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37566686/

相关文章:

c# - Blazor 中的单独代码文件提供虚假警告消息

c# - 将专有名称转换为规范名称

c# - .NET 4.5 UserPrincipal.FindByIdentity (System.DirectoryServices.AccountManagement) 中的错误

c# - 适当的大型枚举设计

c# - 如何在 vb.net 或 C# 中刷新 datagridview 绑定(bind)?

c# - 使用 LINQ 筛选对象列表

c# - UserPrincipal.GetAuthorizationGroups() 方法出错

c# - 向 LINQ 查询添加 N 个条件?

Azure Active Directory通过API添加外部用户

java - 通过 LDAP 查询 Active Directory 组中的所有用户时,为什么某些用户的 userPassword 属性为空?