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

需要有关PowerShell脚本的帮助,以清理AD中符合条件的计算机

PowerShell脚本是一种用于自动化任务和管理Windows操作系统的脚本语言。它结合了命令行界面和脚本编程的优势,可以通过简单的命令和脚本来完成复杂的操作。

在清理AD中符合条件的计算机时,可以使用PowerShell脚本来实现。下面是一个示例脚本,用于清理AD中禁用超过90天的计算机账户:

代码语言:txt
复制
# 导入Active Directory模块
Import-Module ActiveDirectory

# 获取所有禁用的计算机账户
$disabledComputers = Get-ADComputer -Filter {Enabled -eq $false}

# 遍历计算机账户
foreach ($computer in $disabledComputers) {
    # 检查计算机账户禁用时间是否超过90天
    if ($computer.PasswordLastSet -lt (Get-Date).AddDays(-90)) {
        # 删除计算机账户
        Remove-ADComputer -Identity $computer -Confirm:$false
        Write-Host "已删除计算机账户:" $computer.Name
    }
}

这个脚本使用了Active Directory模块来获取禁用的计算机账户,并通过比较密码最后设置时间来判断是否超过90天。如果符合条件,则使用Remove-ADComputer命令删除计算机账户。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云域名服务(DNSPod)。

  • 腾讯云云服务器(CVM):提供高性能、可扩展的云服务器实例,可用于部署和运行PowerShell脚本。了解更多信息,请访问:腾讯云云服务器
  • 腾讯云域名服务(DNSPod):提供域名解析服务,可用于配置域名与腾讯云云服务器的关联。了解更多信息,请访问:腾讯云域名服务

希望以上信息对您有所帮助!如果您还有其他问题,请随时提问。

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

相关·内容

SPN服务主体名称发现详解

Kerberos是一种支持票证身份验证安全协议。如果客户端计算机身份验证请求包含有效用户凭据和服务主体名称 (SPN),则 Kerberos 身份验证服务器将授予一个票证响应该请求。...然后,客户端计算机使用该票证来访问网络资源。在内部网络,SPN扫描通过 查询向域控制器执行服务发现。这对于红队而言,可以帮助他们识别正在运行重要服务主机,如终端、交换机、微软SQL等,并隐藏他们。...GetUserSPNs Tim Medin开发了一个PowerShell脚本,它是kerberoast工具包一部分,可以帮助我们查询活动目录,发现仅与用户帐户相关联服务。...PowerShell AD Recon 除了Tim Medin开发工具外,Sean Metcalf也开发了各种PowerShell脚本来执行Kerberos侦察。...这些脚本PowerShell AD Recon存储库一部分,可以在Active Directory查询服务,例如Exchange,Microsoft SQL,Terminal等。

2.7K00

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

允许计算机在 Active Directory 更新自己密码数据,域管理员可以授予授权用户或组(例如工作站帮助台管理员)读取权限。...然后,允许这样做用户可以从 Active Directory 读取密码。符合条件用户可以请求更改计算机密码。 LAPS特点是什么?...可以配置 PowerShell 脚本,在用户注销时(或在其他事件期间)清除 ms-Mcs-AdmPwdExpirationTime。VDI 解决方案可以提供此时运行脚本能力。...运行包含 PowerShell cmdlet“ Set-AdmPwdComputerSelfPermission ”,为 OU(或域)每台计算机委派权限,更新其包含本地管理员密码 (ms-Mcs-AdmPwd...运行包含 PowerShell cmdlet“ Set-AdmPwdReadPasswordPermission ”,为组委派权限查看指定 OU 本地管理员帐户密码。

3.8K10
  • Windows PowerShell:(

    在运行Windows Server计算机上创建一个新事件日志和事件源。 •  Remove-EventLog。删除一个自定义事件日志,并将此事件日志所有的事件源删除注册。...下次进入PowerShell 时,需要重新加载。 ...帮助 (默认值为“Y”): y PS C:\Users\Administrator> Import-Module WebAdministration   如果在ps1脚本不允许交互,则需要强制修改权限...也显示所有可用角色、角色服务和功能列表,并显示在此计算机上安装了其中哪些内容。有关可以使用此工具指定角色、角色服务和功能详细信息,请参阅服务器管理器帮助”。      ...而在 Windows Server 2008 R2 操作系统,官方推荐为:弃用 ServerManageCmd ,改用 PowerShell cmdlet 。 2、示例   安装SNMP服务为例。

    3.1K30

    通过ACLs实现权限提升

    ,枚举是关键,AD访问控制列表(ACL)经常被忽略,ACL定义了哪些实体对特定AD对象拥有哪些权限,这些对象可以是用户帐户、组、计算机帐户、域本身等等,ACL可以在单个对象上配置,也可以在组织单位(...AD组成员身份递归方式应用,假设我们有三个组: Group_A Group_B Group_C Group_C是Group_B成员,而Group_B本身又是Group_A成员,当我们将...,该组可能由另一组管理,等等,这意味着整个域中可能存在一个难以发现链,但如果正确关联,可能会导致域完全受损 为了帮助利用这个安全风险链,Fox-IT开发了两个工具,第一个工具用PowerShell编写...,这需要一些时间来枚举,但最终可能会产生一个链来获取domain对象上writeDACL权限 计算完链后,脚本将开始利用链每一步: 用户被添加到必要 两个ACE被添加到域对象ACL Replicating...2、删除Exchange Windows权限组writeacl权限 下面的GitHub页面包含一个PowerShell脚本,该脚本可以对此有所帮助:https://github.com/gdedrouas

    2.3K30

    使用PowerShell管理和修改Windows域密码策略

    首先,我们需要在已连接到Active Directory主机上运行PowerShell管理员身份打开,然后加载Active Directory模块: Import-Module ActiveDirectory...如果启用,那么密码必须符合一些条件,如包含大写和小写字母、数字和非字母数字字符。...DistinguishedName: 这是密码策略Distinguished Name(DN),这是在LDAP目录唯一标识条目的字符串。...总结,使用PowerShell管理和修改Windows域密码策略是一项强大功能,可以帮助我们更好地控制组织安全性。然而,修改密码策略时一定要谨慎,因为不恰当设置可能会导致系统安全性降低。...在制定和修改密码策略时,我们必须兼顾安全性和实用性,保证组织信息安全。

    1.3K30

    无需登录域控服务器也能抓 HASH 方法

    所以我们现在可以使用 Invoke-Mimikatz PowerShell 脚本执行 OverPass-The-Hash 攻击,并使用 storagesvc 用户权限启动一个新 PowerShell...控制台: 在 New PowerShell 控制台中,我们可以加载 Invoke-Mimikatz PowerShell 脚本并执行 DCSync 攻击: 正如我们在上面的屏幕截图中看到,我们能够成功执行...现在,我们将加载 Invoke-Mimikatz PowerShell 脚本并执行 DCSync 攻击: 正如我们在上面的屏幕截图中看到,我们能够成功执行 DCSync 攻击并检索 KRBTGT 账户哈希...但是您可以按照下面提到步骤在您环境启用日志。 我们还在实验室中部署了 Sysmon 进行额外日志记录。...我们还可以使用 PowerShell 命令:“ConvertFrom-SddlString”转换“nTSecurityDescriptor”值,获取有关所做更改更多详细信息。

    2.7K10

    我所了解内网渗透 - 内网渗透知识大总结

    ,它们在域中所有的域控制器之间复制.Sysvol文件夹是安装AD时创建,它用来存放GPO,脚本等信息。...p=1508 扫描SQLServer脚本 https://github.com/PyroTek3/PowerShell-AD-Recon Kerberos黄金门票 https://adsecurity.org...(ESE)ESE级索引引对对象属性可以快速定位.ESE确保数据库符合ACID(原子性,一致性,隔离性和持久性) - 交易所有操作完成或不执行.AD ESE数据库非常快速和可靠。...获取系统SAM文件等 使用VSS卷影副本(通过WMI或PowerShell远程处理)远程提取NTDS.DIT 窗口有一个名为WMI内置管理组件,支持远程执行(需要管理员权限).WMIC是在远程计算机上执行命令...SYSVOL是所有经过身份验证用户具有读取权限Active Directory域范围共享。SYSVOL包含登录脚本,组策略数据以及其他域控制器需要使用全域数据。

    4.2K50

    如何使用ADSI接口和反射型DLL枚举活动目录

    C/C++ 如果使用传统PowerShell/C#的话,就可能需要将写好脚本放置到目标设备磁盘,而这样就有可能被安全产品检测到。...在QueryUsers帮助下,我们可以搜索特定用户或所有用户,并返回所有标识用户所有属性。...我们PoC工具名叫Recon-AD,该工具目前由其中反射型DLL以及对应AggressorScript脚本构成。...: 查询组对象和相应属性; 4、Recon-AD-Computers: 查询计算机对象和相应属性; 5、Recon-AD-SPNs: 查询配置了服务主体名称(SPN)用户对象并显示有用属性; 6...、Recon-AD-AllLocalGroups: 在计算机是上查询所有本地组和组成员; 7、Recon-AD-LocalGroups: 在计算机上查询特定本地组和组成员(默认 Administrators

    1.4K20

    在持续集成 (CI) 中使用 .NET SDK 和工具

    还可以指定要安装工具版本,以及是要安装整个 SDK,还是仅安装共享运行时。 安装程序脚本在开始生成时自动运行,提取和安装相应版本 SDK。 相应版本 是指生成项目所需任意 SDK 版本。...使用安装程序脚本,可以在服务器本地目录安装 SDK,并能从安装位置运行工具,还可以在生成后进行清理(或让 CI 服务进行清理)。 这样,可以封装和隔离整个生成进程。...有关详细信息,请参阅 .NET 依赖项和要求。 CI 安装示例 此部分介绍了如何使用 PowerShell 或 bash 脚本进行手动安装,同时还介绍了多个服务型软件 (SaaS) CI 解决方案。...如果使用与所列不同 SaaS 解决方案,或需要超越预封装支持范围自定义设置,至少必须执行一些手动配置。 一般来说,手动安装需要获取一个版本工具(或最新每日版工具),再运行生成脚本。...创建执行手动 CI 生成服务器安装脚本后,在开发计算机上使用它来生成本地代码以供测试。 确认此脚本可以在本地正常运行后,将它部署到 CI 生成服务器。

    50810

    2.Powershell基础入门学习必备语法介绍

    -Parameter * # 若要获取有关 cmdlet 参数详细帮助,请使用 Parameter 参数 # 3.获取Cmdlet命令显示帮助文章示例(实际显示名称、别名、备注) Get-Help...Get-ChildItem -Examples # 4.获取有关脚本和函数帮助 Get-Help c:\ps-test\TestScript.ps1 # 但是在运行 Get-Help * 时不会显示函数和脚本帮助...描述: PowerShell执行策略是一项安全功能有助于防止执行防止用户无意间运行脚本或者恶意脚本,可控制PS加载配置文件和运行脚本条件。...Bypass: 没有任何阻止也没有警告或提示;此执行策略设计用于将PowerShell脚本内置到更大应用程序配置,或者用于PowerShell为具有自己安全模型程序基础配置。...PS集成脚本环境 (ISE) 一个 PS 主机应用程序,使你能够运行命令并在友好、语法着色、符合 Unicode 环境编写、测试和调试脚本

    5K10

    (3)Powershell基础知识(一)

    例如,要显示有关 Get-Service cmdlet 帮助,在命令行输入以下命令。...右命令行很容易过度到脚本 使用 Windows PowerShell,可以很方便地从交互方式键入命令过渡到创建和运行脚本。...可以在 Windows PowerShell命令提示符下键入命令找到可执行任务命令。随后,可将这些命令保存到脚本或历史记录,然后将其复制到文件用作脚本。...除此之外,Powershell还可以调用外部.ps1脚本文件,也可以在脚本创建自己函数。...尽管服务与进程之间有很大技术差别,但它们都是计算机上具有定义完整生命周期可管理元素示例。可能需要启动或停止服务或进程,或获得所有当前正在运行服务或进程列表。

    4.1K20

    Powershell基础入门与实例初识

    ISE 集成脚本环境进行PS脚本脚本编写; Powershell特点: PowerShell 命令可以从命令行管理计算机(十分方便)。...* #若要获取有关 cmdlet 参数详细帮助,请使用 Parameter 参数 #3.获取Cmdlet命令显示帮助文章示例, Get-Help Get-ChildItem -Examples...#4.获取有关脚本和函数帮助 Get-Help c:\ps-test\TestScript.ps1 # 但是在运行 Get-Help * 时不会显示函数和脚本帮助 Update-Help 更新帮助...PS集成脚本环境 (ISE) 一个 PS 主机应用程序,使你能够运行命令并在友好、语法着色、符合 Unicode 环境编写、测试和调试脚本。...PS提供程序 一个基于 Microsoft .NET Framework 程序,用于使专用数据存储数据在 PS 可用,以便你可以查看和管理它。 PS脚本 PS 语言编写脚本

    4.2K20

    红队——多层内网环境渗透测试(二)

    如果想要深入了解具体原理的话可以去看看其他文章,攻击机不在域内,但是可以访问域控,该漏洞利用只需要一个域用户账户即可拿到 DC 控制权限,有两种自动化脚本: ##攻击靶场 sam-the-admin.py...路径是/usr/bin/impacket-secretsdump,如果系统环境这两个脚本不是此路径,则需要将其调用路径进行修改。...编辑器工具将ADMAQ 配置为0,可中断此漏洞利用链....CVE-2020-1472 该漏洞也被称为“Zerologon”,号称“3秒撸域控”.攻击者在通过NetLogon(MS-NRPC)协议与AD域控建立安全通道时,可利用该漏洞将AD域控计算机账号密码置为空...实战两者结合运用。注意:日志清理也是系统事件,所以会被记录,不管怎样,不存在完美的痕迹清理

    1.3K10

    内网渗透 | 浅谈域渗透组策略及gpp运用

    比如黑客需要搜寻用来更改本地Administrator密码VBS脚本,该vbs脚本在Microsoft TechNet gallery上,密码为可见。...1.通过在域中下发脚本来执行 2.在组策略首选项GPP中进行设置 3.本地管理员密码解决方案:LAPS(不细说这个内容,这是解决这个问题很好方案) 首先我们需要了解下AD域中两个默认共享文件夹:SYSVOL...此外,域控机器之间因为要自动同步域数据,SYSVOL文档允许该域内所有DC机之间进行复制,并且所有的AD用户都可以访问它 在域中,用户登录(计算机)时,会首先在SYSVOL文件查找GPO和启动脚本。...这个漏洞产生原因是 使用了GPP功能,如果输入了用户密码的话,那么密码就会AES 256加密形式存储在SYSVOL文件夹下XML后缀结尾xml文件,这个密码加密密钥由微软官方给出可以进行解密...Get-GPPPassword 加载该函数 这个powershell脚本会自动遍历SYSVOL下敏感文件,并且将密码解密 3.针对性用户查找,这里我们可以使用powerview 这里我们de1ctf

    2.7K20

    浅谈域渗透组策略及gpp运用

    比如黑客需要搜寻用来更改本地Administrator密码VBS脚本,该vbs脚本在Microsoft TechNet gallery上,密码为可见。...1.通过在域中下发脚本来执行 2.在组策略首选项GPP中进行设置 3.本地管理员密码解决方案:LAPS(不细说这个内容,这是解决这个问题很好方案) 首先我们需要了解下AD域中两个默认共享文件夹:SYSVOL...此外,域控机器之间因为要自动同步域数据,SYSVOL文档允许该域内所有DC机之间进行复制,并且所有的AD用户都可以访问它 在域中,用户登录(计算机)时,会首先在SYSVOL文件查找GPO和启动脚本。...这个漏洞产生原因是 使用了GPP功能,如果输入了用户密码的话,那么密码就会AES 256加密形式存储在SYSVOL文件夹下XML后缀结尾xml文件,这个密码加密密钥由微软官方给出可以进行解密...,这里我们可以使用powerview 这里我们de1ctfwp思路自己走一遍那个流程 我们在指定GPPVuln这个OU添加个账户 下面我们演示如何在域中根据该用户名称来进行针对性GPP

    1.5K10

    红队技巧-常规横向手法

    利用条件: 1、在win 2012之后(包括win 2012)版本是默认开启,win 2012之前利用需要手动开启winRM。 2、防火墙对5986、5985端口开放。...,它允许应用程序实例化和访问远程计算机上COM对象属性和方法,就像使用基于DCERPCDCOM协议在本地计算机对象一样,有关每个COM(和DCOM)对象标识,实现和配置信息存储在注册表,并与一些重要标识符相关联...这包括授予各个组权限,在本地和远程实例化和访问关联类 为了使DCOM可访问COM对象,必须将AppID与该类CLSID关联,并且需要为该AppID提供适当权限。...没有关AppIDCOM对象不能从远程计算机直接访问。...在powershell我们可以使用 get-CimInstance来列出本地COM程序列表 远程DCOM对象实例表现如下: 客户端计算机从远程计算机请求实例化由CLSID表示对象。

    2.1K20

    使用 Ansible 批量管理 Windows

    ❗️注意: 虽然这些是Ansible连接基本要求,但是一些Ansible模块还有其他要求,例如较新OS或PowerShell版本。请参阅模块文档页面确定主机是否满足这些要求。...Ansible需要PowerShell 3.0版和.NET Framework 4.0或更高版本才能在较旧操作系统(如Server 2008和Windows 7)上运行。基本OS镜像不符合此要求。...Windows Server 2008只能安装PowerShell 3.0; 指定较新版本将导致脚本失败。 username和password参数都是存储在注册表纯文本。...确保在脚本完成后运行清理命令,确保主机上仍未存储凭据。 WinRM内存补丁 在PowerShell v3.0上运行时,WinRM服务存在一个错误,它限制了WinRM可用内存量。...可以在下面阅读有关每个组件详细信息,也可以使用脚本ConfigureRemotingForAnsible.ps1来进行基本设置。

    3.3K30

    攻击 Active Directory 组托管服务帐户 (GMSA)

    托管 GMSA 服务帐户计算机从 Active Directory 请求当前密码启动服务。 配置 GMSA 允许计算机帐户访问密码。...运行 AD PowerShell cmdlet Get-ADServiceAccount,我们可以检索有关 GMSA 信息,包括特定 GMSA 属性。...如果我们能够破解帐户是计算机帐户,我们需要计算机 SYSTEM 身份运行这些命令。...如果我们能够在有权获取 GMSA 密码服务器上获得管理员/系统权限,但 GMSA 没有在服务上下文中运行(因此运行 Mimikatz 没有帮助,因为 GMSA信用不在内存)。...计算机帐户有权提取密码,但不是该计算机用户,因此我提升到 SYSTEM,然后作为关联 AD 计算机帐户与 AD 交互。现在我可以得到 GMSA 密码了。

    2K10
    领券