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

在Active Directory中搜索锁定的帐户(Excel/VB)

在Active Directory中搜索锁定的帐户是通过查询AD中的锁定事件日志来实现的。以下是一个使用Excel/VB编写的示例代码,用于搜索锁定的帐户:

代码语言:txt
复制
Sub SearchLockedAccounts()
    Dim objConnection As Object
    Dim objCommand As Object
    Dim objRecordSet As Object
    Dim strBaseDN As String
    Dim strFilter As String
    Dim strAttributes As String
    Dim strQuery As String
    Dim i As Integer
    
    ' 设置AD连接参数
    Set objConnection = CreateObject("ADODB.Connection")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open "Active Directory Provider"
    
    ' 设置查询参数
    strBaseDN = "<LDAP://DC=example,DC=com>" ' 替换为你的域名
    strFilter = "(&(objectCategory=person)(objectClass=user)(lockoutTime>=1))"
    strAttributes = "sAMAccountName,lockoutTime"
    strQuery = strBaseDN & ";" & strFilter & ";" & strAttributes & ";subtree"
    
    ' 执行查询
    Set objCommand = CreateObject("ADODB.Command")
    objCommand.ActiveConnection = objConnection
    objCommand.CommandText = strQuery
    Set objRecordSet = objCommand.Execute
    
    ' 输出结果到Excel
    i = 2 ' 从第二行开始写入结果
    Do Until objRecordSet.EOF
        Cells(i, 1).Value = objRecordSet.Fields("sAMAccountName").Value
        Cells(i, 2).Value = objRecordSet.Fields("lockoutTime").Value
        i = i + 1
        objRecordSet.MoveNext
    Loop
    
    ' 清理资源
    objRecordSet.Close
    objConnection.Close
    Set objRecordSet = Nothing
    Set objCommand = Nothing
    Set objConnection = Nothing
End Sub

这段代码使用ADODB连接到Active Directory,并执行一个LDAP查询来搜索锁定的帐户。查询结果将被写入Excel的第一列和第二列。

Active Directory是一种由微软开发的目录服务,用于管理网络中的用户、计算机和其他资源。它提供了集中式的身份验证和访问控制,使管理员能够轻松管理大量用户和设备。

这个功能的应用场景包括但不限于以下情况:

  • 网络管理员需要定期检查锁定的帐户以确保网络安全。
  • 支持团队需要解锁用户帐户以恢复其访问权限。
  • 安全团队需要监控和分析帐户锁定事件以检测潜在的恶意活动。

腾讯云提供了一系列与Active Directory相关的产品和服务,例如:

请注意,以上只是一些示例产品,并非广告推广。在实际使用时,请根据具体需求选择适合的产品和服务。

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

相关·内容

从 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

AD域导入导出用户

作为域管理员,有时我们需要批量地向AD域中添加用户帐户,这些用户帐户既有一些相同的属性,又有一些不同属性。如果在图形界面逐个添加、设置,那么需要的时间和人力会超出能够承受范围。一般来说,如果不超过10个,我们可利用AD用户帐户复制来实现。如果再多的话,就应该考虑使用使用命令行工具,实现批量导入导出对象。微软默认提供了两个批量导入导出工具,分别是CSVDE(CSV目录交换)和LDIFDE(LDAP数据互换格式目录交换)。   具体选择上述哪个工具取决于需要完成的任务。如果需要创建对象,那么既可以使用CSVDE,也可以使用LDIFDE,如果需要修改或删除对象,则必须使用LDIFDE。本文不涉及使用CSVDE导入对象。而是换另一种导入导出AD帐户思路:使用CSVDE工具导出AD帐户到CSV格式的文件中,再使用For语句读取该文件,使用DSADD命令进行批量添加。   具体步骤:   一:使用CSVDE导出帐户   使用 CSVDE 导出现有对象的列表相当简单。   最简单的用法是:    csvde –f ad.csv  将 Active Directory 对象导出到名为 ad.csv 的文件。–f 开关表示后面为输出文件的名称。    但是必须注意,上述的用法是很简单,但是导出来的结果可能存在太多你不希望要的记录和信息。    如果要实现更精确的导出记录,可以使用 -d 和 -r 以及 -l 参数。    其中:-d 用来指定特定的搜索位置和范围          -r 用来指定特定的搜索对象类型          -l 用来指定导出对象的具体属性    如:      csvde –f users.csv –d "ou=Users,dc=contoso,dc=com" –r       "(&(objectcategory=person)(objectclass=user))" –l DN,objectClass,description    注意:如果使用CSVDE导出的帐户信息中存在中文,会存在乱码的可能,可以加-U参数来解决。   二:批量导入帐户    首先需要明确的概念是,要实现批量导入帐户,必须要存在一个已包括多个帐户信息的文件。没有文件,无法实现批量导入。    假设之前已经通过CSVDE工具导出过这样的一个文件Users.csv,且文件内容如下    姓 名   全名   登录名      密码    张,三,  张三,  three.zhang,pass01    李,四,  李四,  four.li,    passo2    王,五,  王五,  five.wang,  pass03    刘,六,  刘六,  six.liu,    passo4    赵,七,  赵七,  seven.zhao, pass05    有了上述格式的文件后,我们就可以使用For命令来读取文件中的每条信息并利用DSADD实现帐号添加。    具体语句如下:    C:\>for /f "tokens=1,2,3,4,5 delims=," %a in (uses.csv) do dsadd user "cn=%c,ou=        newusers,dc=contoso,dc=com" -samid %d -upn %d@contoso.com -fn        %b -ln %a -pwd %e -disabled no    作用:将上述文件中五个帐户添加到contoso.com域,名为newusers的OU中,且默认已启用用户。          其中:-samid为登录名                -upn为UPN登录名                -fn为 名                -ln为 姓                -pwd为 密码    简单解释一下for语句        /f 表示从文件中读取信息        tokens表示每行使用的记号,对应于后面的变量具体的值        delims表示每个字段之间的分隔符

03
领券