通过 PowerShell 实现AD域组的管理(增、删、查、改)

前言

嘿,朋友们!在我们上一篇文章《通过 PowerShell 实现 AD 域用户的管理(增、删、查、改)》中,我们探讨了如何有效地管理 Active Directory (AD) 域用户,包括用户的增、删、查、改操作。希望这些内容能帮助到你们在日常工作中更好地管理用户账户。

今天,我们将继续深入这个主题,转而探讨一个同样重要但常常被忽视的方面——域组的使用方法。域组在组织和管理用户方面发挥着至关重要的作用。通过合理地使用域组,我们不仅可以简化权限管理,还能提高安全性和效率。

1.新增域组

# 创建全局安全用户组,设置组名、显示名称,指定OU路径、描述
New-ADGroup -Name "ITAdmins Test" -SamAccountName "ITAdminsTest" -GroupCategory Security -GroupScope Global -DisplayName "ITAdminsTest" -Path "OU=Groups,OU=BaiYang,DC=baiyang,DC=org" -Description "IT测试组"


# 参数说明:
-Name: 组名和对象名称DN
-SamAccountName:SAM 帐户名,用于身份验证的唯一标识符
-GroupCategory:指定组的类型。通讯组(Distribution or 0) 或 安全组(Security or 1)
-GroupScope:组作用域。本地域(DomainLocal or 0)全局(Global or 1)通用(Universal or 2)
-DisplayName:组的显示名称。即用户友好名称,通常在用户界面中显示。
-Path: 指定组织单位 (OU) 下,组将被创建和存储的位置。
-Description:指定组的描述信息。

在这里插入图片描述

  • 更多参数可以参阅微软文档: https://learn.microsoft.com/en-us/powershell/module/activedirectory/new-adgroup?view=windowsserver2025-ps

2.查询域组

# 获取用户组信息
Get-ADGroup -Identity "ITAdminsTest"
#>
DistinguishedName : CN=ITAdmins Test,OU=Groups,OU=BaiYang,DC=baiyang,DC=org
GroupCategory     : Security
GroupScope        : Global
Name              : ITest Users
ObjectClass       : group
ObjectGUID        : 8bc25213-c6ff-4ab5-bffd-43dab58d4ef2
SamAccountName    : ITestUsers
SID               : S-1-5-21-1483408722-1403447730-390134965-1205

3.修改域组

# 把用户组ITAdminsTest的描述改成“IT测试管理组”,显示名称改成“ITestAdmins”
Set-ADGroup -Identity "ITAdminsTest" -Description "IT测试管理组" -DisplayName "ITestAdmins" -PassThru

4.将用户添加到域组

# 添加用户到用户组
Add-ADGroupMember -Identity "ITAdminsTest" -Members "baiyang001"

# 添加多个用户到用户组
Add-ADGroupMember -Identity "ITAdminsTest" -Members "baiyang001", "baiyang002"

5.查询域组成员

# 获取组成员,包括子组的成员
Get-ADGroupMember -Identity "ITAdminsTest" -Recursive

# 获取组成员,获取成员用户名,这样成员的SAM帐户名就出来了,多用于批量处理
(Get-ADGroupMember -Identity "ITAdminsTest" -Recursive).SamAccountName

6.将用户从域组中移除

# 移除AD组中的用户
Remove-ADGroupMember -Identity "ITAdminsTest" -Members "baiyang001" -Confirm:$False

7.删除域组

# 删除用户组
Remove-ADGroup -Identity "ITAdminsTest" -Confirm:$False

8.PowerShell 批量操作域组

示例: 使用 foreach 循环对域组进行批量遍历操作,可以自定义用户或者通过读取csv文件。

# 定义用户组列表,包含组名、SAM账户名和显示名称及描述
$groups  = @(
    @{Name="IT运维组"; SamAccountName="ityunweizu"; DisplayName="IT运维组"; Description="负责公司的IT运维工作"},
    @{Name="开发组"; SamAccountName="kaifazhu"; DisplayName="开发组"; Description="负责软件开发和维护"},
    @{Name="财务组"; SamAccountName="caiwuzu"; DisplayName="财务组"; Description="负责公司的财务管理"},
    @{Name="人事组"; SamAccountName="renshizu"; DisplayName="人事组"; Description="负责员工管理和人事事务"}
)

# 遍历用户组列表并创建 AD 用户组
foreach ($group in $groups) {
	New-ADGroup -Name $group.Name `
	-SamAccountName $group.SamAccountName `
	-GroupCategory Security `
	-GroupScope Global `
	-DisplayName $group.DisplayName `
	-Description $group.Description `
	-Path "OU=Groups,OU=BaiYang,DC=baiyang,DC=org"
}

在这里插入图片描述

小结

通过合理配置域组,你可以简化用户权限管理、增强安全性并提高团队的协作效率。无论是新增域组、修改权限组,还是删除冗余组,这些方法都能在实际工作中带来显著的便利。希望你能将这些实际应用于日常管理中,提升工作效率!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值