我已经看到多个在创建后将用户添加到组的示例,但不是在创建时。那可能吗?目前,我有这样的东西:(为了简单起见,删除了大多数属性)
$user = New-ADUser -Name "person" -Path "OU=test,OU=myorg" -Office "home" -samAccountName "snuffy.john" -PassThru
if ($user){
Add-ADGroupMember -Identity mygroup -Members $user.samAccountName
}
这会导致每个添加的用户对 ldap 服务器进行两次调用,我试图阻止这种情况,因为我有成千上万的用户并且脚本需要很长时间才能运行。我检查了 MS 文档,但没有看到任何内容。如果不可能,那就是它的样子。以为我至少会试着问一下。我上周也刚开始使用 powershell。
答案 0 :(得分:0)
你可能会改变你的想法。对于成千上万的用户,我会这样做。
首先创建所有用户。
然后通过 Get-ADUser -Filter * -SearchBase "OU=test,OU=myorg" 获取它们(或者过滤 CreatedDate 属性以获取所有新用户)
在获得用户后,尝试根据您希望将他们放入的组过滤他们并使用 Add-ADGroupMember cmdlet,它接受参数“-members”的 ADPrincipals 数组。
这将加速您的代码。