我一直在寻找一种使用多个用户名填充多个通讯组的方法。我碰到本网站上的脚本由成员 Frode F. 编写。:
Import-Csv "C:\Scripts\Import Bulk Users into bulk groups\bulkgroups3.csv" | Group-Object Group | % {
#Foreach Group, get ADUser object for users and add members
$users = $_.Group | % { Get-ADUser $_.Accountname }
Add-ADGroupMember -Identity $_.Name -Member $users
}
当 csv 文件包含大约 10 行、第 1 列中有 2 个不同的组、第 2 列中有多个用户时,此方法有效。
当 csv 包含几百行时,仍然只有 2 个组,它根本无法填充组。这些是错误:
Add-ADGroupMember : The specified account name is already a member of the group
At C:\scripts\AddUsersDistributionGroups.ps1:6 char:22
+ Add-ADGroupMember <<<< -Identity $_.Name -Member $users
+ CategoryInfo : NotSpecified: (Group A:ADGroup) [Add-ADGroupMember], ADException
+ FullyQualifiedErrorId : The specified account name is already a member of the group,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember
Add-ADGroupMember : The specified account name is already a member of the group
At C:\scripts\AddUsersDistributionGroups.ps1:6 char:22
+ Add-ADGroupMember <<<< -Identity $_.Name -Member $users
+ CategoryInfo : NotSpecified: (Group B:ADGroup) [Add-ADGroupMember], ADException
+ FullyQualifiedErrorId : The specified account name is already a member of the group,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember
有人可以帮忙吗?
也许成员数量有限制添加 ADGroupMember可以立即处理,如果你通过它,它就会嘎嘎叫-Members参数的集合有数百个?不要将所有用户分组到一个集合中,而是尝试一次添加一个用户:
Import-Csv "C:\Scripts\Import Bulk Users into bulk groups\bulkgroups3.csv" | %{
Add-ADGroupMember -Identity $_.Group -Members $_.Accountname
}
这假设中的值Group and 帐户名称列是有效的身份属性——它们必须如此才能使您引用的脚本正常工作。但请注意,此脚本将需要很长时间才能运行,因为 AD cmdlet 通常执行缓慢,并且您将执行添加 ADGroupMember每个用户一次(即 CSV 文件中的每行)而不是每个组一次。您可能会发现向以下位置添加一行很有用Foreach对象指示进度的块,以便您知道它正在工作而不是卡住。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)