powershell 添加-ADGroup成员限制

ef1yzkbh  于 2023-02-08  发布在  Shell
关注(0)|答案(1)|浏览(134)

我有一个向组添加成员的脚本
$ADUsers =导入-csv c:\测试. csv $用户名= $ADUsers.用户名
添加ADGroupMember-身份(获取ADGroup "测试")-成员$用户名-确认:$false $Username is an array
我得到了错误:AddADGroupMembers出错无法联系服务器。这可能是因为此服务器不存在、当前已关闭或没有运行Active Directory Web服务。
该脚本是与10k用户,但当我试图添加20k用户出错。我想知道的限制添加ADGroupMember。

jdgnovmf

jdgnovmf1#

我找不到任何关于您在一个Add-ADGroupMember调用中可以使用的最大用户数的信息,但由于Get-ADGroupMember的最大用户数在AD中默认设置为5000(请参见MaxGroupOrMemberEntries),因此我不会超过这个数字。
您应该将用户数组分解,以便添加到多个块中。
试试这样的方法:

# get an array of usernames to add to the group from the CSV
$ADUsers = (Import-Csv -Path 'c:\test.csv').username
$GroupDN = (Get-ADGroup -Identity 'testing').DistinguishedName
# set your maximum for the number of users to add in each iteration
$chunkSize  = 4000  # use trial and error on this, but stay on the safe side
$maxItems   =  $ADUsers.Count
$iterations = [Math]::Ceiling($maxItems / $chunkSize)

for ($i = 1; $i -le $iterations; $i++) {
    $firstItem = (($i - 1) * $chunkSize)
    $lastItem  = [Math]::Min(($i * $chunkSize) - 1, $maxItems - 1)
    $userToAdd = $ADUsers[$firstItem..$lastItem]
    Add-ADGroupMember -Identity $GroupDN -Members $userToAdd -Confirm:$false 
}

相关问题