PowerShell实现将用户添加到指定用户组

目的:将用户Oak.Lee添加到Active Directory中的一个特定组("PC-TEST01")中。

1.导入Active Directory模块:

Import-Module ActiveDirectory

这行代码用于导入Active Directory模块,以便可以使用该模块提供的命令(如 Get-ADUser, Get-ADGroupMember, Add-ADGroupMember 等)来管理Active Directory中的用户和组。

2.定义用户和组的变量:

$users = @(  
    "Oak.Lee"  
)  
$groupName = "PC-TEST01"

这里定义了两个变量:$users 是一个数组,包含要添加到组中的用户列表(在这个例子中只有一个用户 “ula.he”);$groupName 包含了目标组的名称。

3.遍历用户列表并将其添加到组中:

foreach ($user in $users) {  
    try {  
        # 检查用户是否存在  
        $adUser = Get-ADUser -Identity $user -ErrorAction Stop  
  
        # 检查用户是否已经在组中  
        $isMember = Get-ADGroupMember -Identity $groupName | Where-Object { $_.SamAccountName -eq $adUser.SamAccountName }  
  
        if ($isMember) {  
            Write-Output "用户 $user 已经在组 $groupName 中"  
        } else {  
            # 添加用户到组  
            Add-ADGroupMember -Identity $groupName -Members $adUser -ErrorAction Stop  
            Write-Output "用户 $user 已成功添加到组 $groupName"  
        }  
    } catch {  
        # 捕获并处理错误  
        Write-Output "处理用户 $user 失败: $_"  
    }  
}

使用 foreach 循环遍历 $users 数组中的每个用户。

4.添加用户到组或输出用户已在组中的信息:

if ($isMember) {  
    Write-Output "用户 $user 已经在组 $groupName 中"  
} else {  
    Add-ADGroupMember -Identity $groupName -Members $adUser -ErrorAction Stop  
    Write-Output "用户 $user 已成功添加到组 $groupName"  
}

5.异常处理

catch {  
    Write-Output "处理用户 $user 失败: $_"  
}

如果在尝试获取用户或添加用户到组时发生错误(如用户不存在或权限不足),则捕获这些异常并输出错误信息。

8.完整代码:

# 导入Active Directory模块
#Import-Module ActiveDirectory

# 定义用户和组的变量
$users = @(
    "oak.lee"
)

$groupName = "PC-TEST01"

# 遍历用户列表并将其添加到组中
foreach ($user in $users) {
    try {
        # 检查用户是否存在
        $adUser = Get-ADUser -Identity $user -ErrorAction Stop

        # 检查用户是否已经在组中
        $isMember = Get-ADGroupMember -Identity $groupName | Where-Object { $_.SamAccountName -eq $adUser.SamAccountName }

        if ($isMember) {
            Write-Output "用户 $user 已经在组 $groupName 中"
        } else {
            # 添加用户到组
            Add-ADGroupMember -Identity $groupName -Members $adUser -ErrorAction Stop
            Write-Output "用户 $user 已成功添加到组 $groupName"
        }
    } catch {
        Write-Output "处理用户 $user 失败: $_"
    }
}
温馨提示 : 非特殊注明,否则均为©李联华的博客网原创文章,本站文章未经授权禁止任何形式转载;IP地址:3.147.48.105,归属地:俄亥俄州Dublin ,欢迎您的访问!
文章链接:https://www.lilianhua.com/powershell-implementation-adds-users-to-specified-user.html
Popup Image

通知

本站原则上是免费提供技术支持,但是服务器维护和运营成本高,可以实行自由赞助:赞助

Loading...