将 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
,我只是添加它以便您可以看到发生了什么。
我有以下用户列表,我想根据此列表将 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
,我只是添加它以便您可以看到发生了什么。