【发布时间】:2018-12-17 17:36:15
【问题描述】:
在准备测试时,我们需要加载一个具有多达 400,000 个用户和 100,000 个组的 Windows Server VM,以及它们之间的各种映射。
已编写了一个 powershell 脚本来实现此目的,该脚本在 Server 2012 R2 VM(4 核,8GB RAM)上运行。但是,按照脚本的运行速度,它看起来可能需要一个多月才能完成。
我们已经使用 net 命令和 Add-AD 命令尝试了该脚本,以查看是否有任何速度提升。好像没有。该脚本使用多个 For 循环来迭代创建用户、创建组以及将某些用户编号添加到组编号。
命令示例如下:
#net users $userName mypassword /add
#New-ADUser -Name $userName -SamAccountName $userName -DisplayName $userName -AccountPassword mypassword -Enabled $true
and
net group $groupName $userName /add
#Add-ADGroupMember -Identity $groupName -Members $userName
关于加载具有大量新用户/组/映射的广告的最快方式有什么建议吗?
谢谢
【问题讨论】:
-
对于初学者:基准测试(部分)你的脚本。看看哪个部分需要很长时间才能完成。您提供的示例太少,无法给我任何真正的原因指示(因为您只列出了一些创建用户的命令)
-
我的理解是 AD cmdlet 比 ADSI 的东西要慢一些……您是否尝试过用 ADSI 调用替换运行时间最长的 AD cmdlet?
标签: powershell active-directory