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

时间:2017-04-24 12:33:24

标签: powershell windows-server-2008-r2

我有以下用户列表,我想将Active Directory用户添加到此列表的组中。我知道我无法使用DisplayName向组添加成员,因此如何将列出的用户添加到组中?

是否有通过将DisplayName转换为DNSamAccountName来添加用户的好方法?任何建议和建议将受到高度赞赏。

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

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

我们的环境正在运行Powershell 2.0。

1 个答案:

答案 0 :(得分:0)

您可以使用Get-ADUser基于对DisplayName的过滤获取AD用户对象,然后使用Add-ADGroupMember将其添加到组中来执行此操作。

因为Get-ADUser可能会返回多个结果(如果有重复的显示名称),这会使用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
    }
}

您可能想要替换/删除Write-Host,我只是添加了它,以便您可以看到正在发生的事情。