首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从C-Sharp/C上的Active Directory获取用户帐户状态(已锁定/已解锁)

从C-Sharp/C上的Active Directory获取用户帐户状态(已锁定/已解锁)的方法是通过查询用户帐户的属性来实现的。以下是一个简单的C#示例,展示了如何获取用户帐户的状态:

代码语言:csharp
复制
using System;
using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;

public class ActiveDirectoryHelper
{
    public static bool IsAccountLocked(string username)
    {
        using (var context = new PrincipalContext(ContextType.Domain))
        {
            using (var user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, username))
            {
                if (user == null)
                {
                    throw new ArgumentException("User not found in Active Directory.");
                }

                return user.IsAccountLockedOut();
            }
        }
    }
}

在这个示例中,我们使用了System.DirectoryServices和System.DirectoryServices.AccountManagement命名空间中的类。我们首先创建了一个PrincipalContext对象,用于连接到Active Directory域。然后,我们使用UserPrincipal.FindByIdentity方法查找用户帐户。最后,我们调用user.IsAccountLockedOut()方法来检查用户帐户是否已锁定。

需要注意的是,这个示例仅适用于Windows环境下的Active Directory。如果您使用的是其他类型的目录服务,则需要使用其他API来查询用户帐户状态。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从 Azure AD 到 Active Directory(通过 Azure)——意外的攻击路径

虽然 Azure 在某些方面利用 Azure Active Directory,但 Azure AD 角色通常不会直接影响 Azure(或 Azure RBAC)。本文详细介绍了一个已知配置(至少对于那些深入研究过 Azure AD 配置选项的人来说),Azure Active Directory 中的全局管理员(又名公司管理员)可以通过租户选项获得对 Azure 的控制权。这是“按设计”作为“打破玻璃”(紧急)选项,可用于(重新)获得 Azure 管理员权限,如果此类访问权限丢失。 在这篇文章中,我探讨了与此选项相关的危险,它当前是如何配置的(截至 2020 年 5 月)。 这里的关键要点是,如果您不仔细保护和控制全局管理员角色成员资格和关联帐户,您可能会失去对所有 Azure 订阅中托管的系统以及 Office 365 服务数据的积极控制。 注意: 围绕此问题的大部分研究是在 2019 年 8 月至 2019 年 12 月期间进行的,自那时以来,Microsoft 可能已经在功能和/或能力方面进行了更改。

01

Microsoft 本地管理员密码解决方案 (LAPS)

问题 企业环境中计算机上本地帐户的真正问题是“本地”一词用词不当。如果网络上的 50 台计算机的本地管理员帐户为“Administrator”,密码为“P@55w0rd1!”,首先这是一个可怕的密码。其次,更重要的是,如果其中一台计算机受到威胁,它们都将受到威胁。Windows 非常有帮助。非常有用,如果您将本地管理员凭据传递给具有相同本地凭据的另一台计算机,则授予访问权限,就像您使用目标系统凭据登录一样。将管理员凭据转储到一个以获取所有管理员!缓解此问题的最佳方法是确保每台计算机都有一个不同的本地管理员帐户密码,该密码长、复杂且随机,并且会定期更改。

01

谈谈域渗透中常见的可滥用权限及其应用场景(二)

在谈论这篇文章的主要内容之前,我想先讲讲Bloodhound这个工具,BloodHound 是一个强大的内网域渗透提权分析工具,它把域中各种抽象的概念和结构放在了一个能运行且直观,并易于使用的图形化功能中,自动用于提取和分析数据,高效准确地显示如何提升 AD 域中的权限。它使用图形理论来自动化的在 Active Directory 环境中搞清楚大部分人员的关系和细节。我们可以使用 BloodHound 快速深入了解 AD 的一些用户关系,了解哪些用户具有管理员权限,哪些用户有权对任何计算机都拥有管理权限,以及有效的用户组成员信息。它是一个对于我们在域渗透中寻找攻击向量、规划攻击路线、进行横向移动等都有有巨大的帮助,在这篇文章中我们也会用到这款工具。

02

内网协议NTLM之内网大杀器CVE-2019-1040漏洞

Preempt的研究人员发现了如何在NTLM身份验证上绕过MIC(Message Integrity Code)保护措施并修改NTLM消息流中的任何字段(包括签名)。该种绕过方式允许攻击者将已经协商签名的身份验证尝试中继到另外一台服务器,同时完全删除签名要求。所有不执行签名的服务器都容易受到攻击。 这个漏洞其实就是可以绕过NTLM MIC的防护,也是NTLM_RELAY漏洞。攻击者利用该漏洞可以绕过NTLM中的MIC(Message Integrity Code)。攻击者可以修改已经协商签名的身份验证流量,然后中继到另外一台服务器,同时完全删除签名要求。通过该攻击方式可使攻击者在仅有一个普通域账号的情况下,运程控制域中任意机器(包括域控服务器)。

03
领券