当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Active Directory 脚本丰富:快来获取吧!

作者:精品下载站 日期:2024-12-14 13:14:51 浏览:14 分类:玩电脑

Active Directory 脚本丰富:快来获取吧!


Active Directory 是 PowerShell 最常见的用途之一。我个人使用 VBScript 和 PowerShell 构建 Active Directory 脚本已有十多年了。这是一个用于执行各种操作的 Active Directory PowerShell 脚本的大样本!

我将在此处列出的所有 Active Directory 脚本都处于不同的功能阶段。这篇文章的目的不是为您提供 100% 经过测试的原始脚本,而是让您快速开始创建自己的脚本。

此处列出的所有脚本都是 Active Directory PowerShell 脚本。您可以在 Active Directory 中编写脚本,但如果您注意到的话,PowerShell 是我的菜。享受!

Active Directory SPN

  • ActiveDirectorySPN PowerShell 脚本
    这是一个 PowerShell 模块,允许您使用 Get-AdUserSpnRemove-AdComputerSpn 等命令创建、更改和删除 Active Directory SPN在。该模块很方便,因此您不必记住如何使用 Set-AdUser 更改 SPN。

用户帐户

  • Bulk-AD-User-Creation.ps1
    下面是如何通过读取文本文件来批量创建 Active Directory 用户的示例。
  • Copy-AD-User-Account.ps1
    您是否使用需要从中构建其他帐户的模板用户帐户?别再犹豫了!此脚本复制用户帐户的属性以及所有组成员身份以创建新的 AD 用户。
  • FindUnusedUserAccounts.ps1
    使用此脚本查找不再使用的 Active Directory 用户帐户并将其删除。此脚本还会创建一个 CSV 日志文件。
  • Get-ActiveDirectoryUserActivity.ps1
    此脚本查找 Active Directory 组织单位中所有计算机上所有用户的所有登录和注销时间。必须首先启用适当的审核策略,因为将显示适当的事件 ID。
  • Get-AdUserMatches.ps1
    您有一个包含员工姓名的 CSV 文件,需要查找他们的 AD 用户帐户,但是没有任何内容可以 100% 匹配。使用此脚本从 CSV 文件中查找 AD 用户帐户,并获取使用“模糊”搜索的示例。
  • Get-All-Docs-Password-Age.ps1
    这是一个很好的示例,说明如何同时从大量 AD 用户中获取用户帐户密码年龄。
  • Get-Inactive-Ad-Users.ps1
    另一个示例,说明如何从 CSV 中提取员工信息并查找其 AD 用户帐户。该脚本用于查找不活动的帐户。
  • Get-LoggedOnUser.ps1
    尽管技术上与 AD 无关,但此脚本中的函数查询本地或远程计算机上的 CIM 并返回当前登录的用户(本地或 Active Directory)。
  • GetAdUsersWithPasswordLastSetOlderThan.ps1
    这是我构建的另一个旧脚本,用于查找某个时间前设置密码的 AD 用户。
  • GetPasswordResetCountXDaysOld.ps1
    使用此脚本中的代码查找所有已设置密码的 AD 用户。这个和 GetAdUserWithPasswordLastSetOlderThan.ps1 之间有一些重叠。
  • JEA-PSWA-ActiveDirectory-User-Admin.ps1
    我记得这个!这是一个花费很长时间的脚本,允许您将 AD 更改职责委托给其他用户。这用于委派 HR 访问权限以创建和更改 AD 用户。
  • New-AdUserProvision.ps1
    这是涵盖所有基础的脚本示例。该脚本执行所有操作,从创建用户帐户、分配组、添加到适当的 OU 甚至创建主文件夹!
  • Get-UserLogonSessionHistory.ps1
    此脚本查找指定的所有计算机上所有用户的所有登录、注销和总活动会话时间。为了使该脚本按预期运行,高级 AD 策略;审核登录、审核注销和审核其他登录/注销事件必须通过 GPO 启用并定位到适当的计算机。

活动目录组

  • Get-AdGroupMembershipChange.ps1
    此脚本查询域中的多个 Active Directory 组中的新成员。它将组成员身份记录在与脚本所在位置相同的 CSV 文件中。在脚本首次运行时,它只会将所有组的所有成员记录到此 CSV 文件中。在后续运行中,它将查询每个组的成员列表,并将该列表与 CSV 文件中的内容进行比较。如果发现任何差异(添加或删除),脚本将更新 CSV 文件以反映当前成员资格,并通知管理员添加或删除了哪些成员。
  • Get-EmptyGroup.ps1
    此函数查询启动计算机所在的 Active Directory 域中所有没有成员的组。当尝试查找可以删除的组时,这种情况很常见。这不包括默认的 AD 组,例如域计算机、域用户等。
  • New-AdGroupMembershipMonitor.ps1
    我喜欢编写这个脚本,因为它是对安全性的一次尝试。此脚本主动监视 Active Directory 组的任何成员身份更改。如果添加或删除任何成员,它可以通知您。

GPO

  • CompareIEGPO.ps1
    这是一个旧脚本,但仍然有用,我用来比较两个 GPO。该脚本提取 GPO 设置的注册表信息并比较它们以查看差异。
  • Get-DisabledGpo.ps1
    此函数查询启动计算机所在的 Active Directory 域,以查找禁用其计算机、用户或两者设置的所有 GPO。当尝试查找可以删除的 GPO 时,这种情况很常见。
  • Get-GPO-Reg-Settings.ps1
    使用 Get-GPRegistryValue 和一些魔法,此脚本会在应用时提取一个或多个 GPO 设置的所有注册表设置。
  • Get-GPOs-Linked-To-Empty-OUs.ps1
    这是清理 AD 时可以使用的另一个很好的脚本示例。该工具用于查找根本没有执行任何操作的 GPO,因为它们链接到空的 OU。
  • Get-Gpo-Setting.ps1
    查找 GPO 注册表设置的好示例。
  • Get-Inactive-GPO-Settings.ps1
    此脚本查找当前域中启用了用户或计算机配置部分但未在该部分中启用设置的所有 GPO。 AD 清理工作的好脚本。
  • Get-Inactive-GPOs.ps1
    如何提取不再使用的 GPO 的另一个示例。
  • Get-UnlinkedGpo.ps1
    此函数查询启动计算机所在的 Active Directory 域,以查找没有对象链接的所有 GPO。当尝试查找可以删除的 GPO 时,这种情况很常见。

域名系统

  • Get-AdDnsRecordAcl.ps1
    此脚本从 Active Directory 集成的 DNS 记录中检索 ACL。在解决动态 DNS 问题时,这是一个很好的脚本。

活动目录故障排除

  • Get-DcDiag.ps1
    我喜欢老式的dcdiag实用程序,但它没有正确的PowerShell化。这是一个解析 dcdiag 输出并返回丰富对象的脚本。
  • TestSiteReplicationMod.ps1
    使用此脚本进行测试以确保 DC 正在复制。它在一个 DC 上进行更改,然后轮询所有其他 DC 以查看对象复制所需的时间(如果有的话)。

组织单位

  • Get-Empty-OUs.ps1
    另一个清理脚本,用于查找所有空的组织单位。还不如把它们清理干净呢!

电脑账户

  • Get-Old-Computer-Accounts.ps1
    需要清理旧的 Active Directory 计算机帐户吗?没问题。看一下一些使用文本文件和 AD 来实现这一目标的好例子。
  • Get-ClientsUnderNoSite.ps1
    有时,AD 客户端会发现自己未分配到站点。这可能会导致各种问题。使用此脚本查找那些不再分配给站点并请求帮助的 AD 计算机。
  • Rejoin-Computer.ps1
    此脚本将计算机从 Active Directory 域中断开,执行重新启动,并在重新启动后将其再次加入域并执行另一次重新启动。

概括

就是这样!这些是我多年来构建的一些 Active Directory 脚本。我当然希望我能更好地跟踪所有这些!我希望这些脚本能够帮助您快速开始创建一些您自己的有用的 Active Directory 脚本。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯