将 DisplayName 列表中的用户添加到安全组

Add users from DisplayName list to security group

我有以下用户列表,我想根据此列表将 Active Directory 用户添加到组中。我知道我不能使用 DisplayName 将成员添加到组中,那么如何将列出的用户添加到组中?

有没有把DisplayName转换成DN或者SamAccountName来添加用户的好方法?任何意见和建议将不胜感激。

<Userlist.csv>
-----------
AddtoGroupname,DisplayName (*)
Group1,UserName1
Group1,UserName2
Group2,UserName3
...

(*) 是成员用户的DisplayNames,需要添加左侧组名。

我们的环境是运行Powershell 2.0.

您可以使用 Get-ADUser 获取基于 DisplayName 过滤的 AD 用户对象,然后使用 Add-ADGroupMember 将它们添加到组中。

因为 Get-ADUser 可能 return 多个结果(如果有重复的显示名称)这使用 ForEach 循环遍历任何重复项:

Import-CSV Userlist.csv | ForEach-Object {
    $Users = (Get-ADUser -filter "displayname -eq $($_.DisplayName)")
    ForEach ($User in $Users) {
        Write-Host "Adding $User to $($_.AddtoGroupName)"
        Add-ADGroupMember -Identity $_.AddtoGroupName -Members $User
    }
}

您可能想要 replace/remove Write-Host,我只是添加它以便您可以看到发生了什么。