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

[玩转系统] 如何使用 PowerShell 添加和删除 AD 组和组中的对象

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

如何使用 PowerShell 添加和删除 AD 组和组中的对象


Microsoft Active Directory 充当管理、授权和身份验证的集中点。在 AD 中,对网络资源的访问权限被授予安全主体,例如用户帐户和计算机帐户,并且这些权限可能会随着时间的推移而发生变化。为了简化访问管理并提高安全性,中型和大型公司通常使用 Active Directory 安全组,其中可以包含用户帐户、计算机帐户和其他组。他们还经常使用通讯组来管理电子邮件通讯组列表。安全组和通讯组都具有唯一安全标识符 (SID) 和全局唯一标识符 (GUID)。

ADUC MMC 管理单元非常适合管理这两种类型的组,但 PowerShell 是批量管理它们的更有效的方法。

如果您还不熟悉 AD 组和组管理,请在继续之前阅读 Active Directory 组管理最佳实践指南。

另外,请记住,为了使用这些 PowerShell 脚本,您必须导入用于与 AD 交互的模块 - Microsoft Windows PowerShell 的 Active Directory 模块。该模块是在 Windows Server 2008 R2 中引入的,并且在 Windows Server 2012 及更高版本中默认启用。您可以通过运行以下命令获取 AD 模块 cmdlet 的完整列表:

Get-Command -Module ActiveDirectory

完整列表包含 147 个 cmdlet;但是,只有这十一个与 Active Directory 组相关:

[玩转系统] 如何使用 PowerShell 添加和删除 AD 组和组中的对象

  • 添加 ADGroupMember
  • 添加 ADPrincipalGroupMembership
  • 获取 ADAccountAuthorizationGroup
  • 获取ADGroup
  • 获取 ADGroupMember
  • 获取 ADPrincipalGroupMembership
  • 新AD集团
  • 删除AD组
  • 删除-ADGroupMember
  • 删除 ADPrincipalGroupMembership
  • 设置AD组

使用 PowerShell 创建 Active Directory 组

要创建 AD 组,请使用 New-ADGroup cmdlet。您可以通过运行以下命令来获取其语法:

Get-Command New-ADGroup –Syntax

[玩转系统] 如何使用 PowerShell 添加和删除 AD 组和组中的对象

创建组的最简单方法是运行这个简短的脚本:

New-ADGroup "Group Name"

系统会要求您指定“GroupScope”参数,然后它将创建一个新组。但是,该组将具有默认值,例如:

  • 它将在名为“Users”的默认 LDAP 容器中创建。
  • 它将具有“安全”组类型。
  • 成员、成员、描述、电子邮件和注释字段都将为空白。

假设我们要在 AD DC 上创建一个名为“Quality”的安全组。让我们使用以下参数:它应该位于“生产”OU (-Path) 中,它应该是一个安全组 (-GroupCategory),并且它应该是全局的(-GroupScope)。

New-ADGroup "Quality" -Path "OU=Production,DC=enterprise,dc=com" -GroupCategory Security -GroupScope Global -PassThru –Verbose

[玩转系统] 如何使用 PowerShell 添加和删除 AD 组和组中的对象

如果要创建通用通讯组,只需将 -GroupCategory 参数更改为“Distribution”,将 -GroupScope 参数更改为“Universal”。您还可以通过更改 -Path 参数来更改 LDAP 路径。

使用 PowerShell 删除 Active Directory 组

要删除 AD 组,请使用 Remove-ADGroup cmdlet。最简单的脚本如下所示:

Remove-ADGroup -Identity Quality

系统将提示您确认删除该组。

使用 PowerShell 将用户和计算机添加到组中

您可以使用 Add-AdGroupMember cmdlet 将用户添加到 AD 组。例如,如果您需要将两个用户 B.Jackson 和 E.Franklin 添加到“质量”组,则脚本如下所示:

Add-AdGroupMember -Identity Quality -Members B.Jackson, E.Franklin

将用户添加到安全组后,您可以运行以下脚本来验证他们是否被列为成员:

Get-ADGroupMember -Identity Quality

[玩转系统] 如何使用 PowerShell 添加和删除 AD 组和组中的对象

如果您需要将用户添加到其他安全组或通讯组(例如“域管理员”),请指定“域管理员”作为 -Identity 参数的值。如果您需要一个组成为另一个组的成员,请指定组名称作为 -Members 参数的值。同样的原则也适用于计算机帐户,但您需要在计算机帐户名称末尾附加美元符号 ($)。例如,要将计算机“WKS043”添加到组中,请指定“WKS043$”作为 -Member 参数的值:

Add-AdGroupMember -Identity Quality -Members WKS043$

将用户添加到多个组

要将用户一次添加到多个组,请运行以下脚本。

"Managers","Quality" | Add-ADGroupMember -Members `
 (Read-Host -Prompt "Enter User Name")

系统会提示您输入用户名。

从 CSV 文件将用户添加到组

如果要将大量用户添加到组中,可以在 CSV 文件中指定它们,然后导入该文件。请注意,CSV 文件中的用户名列表必须在“users”列中包含 SamAccountNames,如下所示:

[玩转系统] 如何使用 PowerShell 添加和删除 AD 组和组中的对象

要从 CSV 文件将用户添加到组,请运行以下 PowerShell 脚本:

Import-CSV C:scriptsusers.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity "Quality" -members $_.users}

[玩转系统] 如何使用 PowerShell 添加和删除 AD 组和组中的对象

将用户从一个组复制到另一个组

如果要将所有成员从一个组复制到另一个组,请运行以下脚本:

Get-ADGroupMember “Quality” | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “QualityControl” -Members $_}

从组中删除用户或计算机

要从组中删除用户,请使用 Remove-ADGroupMember cmdlet:

Remove-ADGroupMember -Identity Quality -Members J.Robinson

[玩转系统] 如何使用 PowerShell 添加和删除 AD 组和组中的对象

要从组中删除计算机帐户,请为 -Members 参数的值指定末尾带有美元符号 ($) 的计算机名称。

从组中删除多个用户帐户

从 AD 组中删除多个用户的一种简单方法是创建一个包含用户名列表的 CSV 文件,然后使用以下脚本从组对象中删除这些用户:

Import-CSV C:scriptsusers.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity "Quality" -members $_.users}

从所有组中删除用户

要从所有组中删除用户,请运行以下脚本:

Get-ADUser -Identity E.Franklin -Properties MemberOf | ForEach-Object {
 $_.MemberOf | Remove-ADGroupMember -Members $_.DistinguishedName -Confirm:$false
}

[玩转系统] 如何使用 PowerShell 添加和删除 AD 组和组中的对象

请注意,用户将失去除“域用户”之外的所有组成员身份,如果需要,可以手动删除“域用户”。

Active Directory 组报告

现在我们知道如何使用 PowerShell 执行许多与组相关的常见 Active Directory 管理任务,让我们看看如何报告 AD 中存在哪些组:

要列出 AD 中的所有组,请使用以下脚本:

Get-ADGroup -filter * -properties GroupCategory | ft name,groupcategory

[玩转系统] 如何使用 PowerShell 添加和删除 AD 组和组中的对象

当然,您还需要查看 AD 组成员和 AD 组成员身份更改。以下是执行这些更复杂任务的说明的链接:

  • 如何监视 Active Directory 组成员身份更改
  • 如何获取 AD 用户组成员报告
  • 如何导出特定 AD 组的成员
  • 使用 PowerShell 管理 OU 并移动其对象

结论

现在您已经了解了如何使用 PowerShell 脚本管理 Active Directory 中的组和组成员身份,请尝试自己执行一些组管理任务。但是,请小心,不要忘记启用 Active Directory 回收站功能,以便在出现问题时可以轻松回滚更改。请记住,ADUC MMC 管理单元非常适合管理组和组成员身份,但 PowerShell 更适合批量管理组。

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

取消回复欢迎 发表评论:

关灯