我正在尝试设置一个PS脚本来添加成员,如果他们不是一个组的一部分,并运行它作为一个任务。有人可以证明代码并提供反馈吗?谢谢。
$GROUP = 'CN=Group1,OU=SomeOU,DC=domain,DC=local'
Get-ADUser -Filter * -SearchBase "DC=domain,DC=local" -Properties MemberOf |
Where-Object {$_.MemberOf -notcontains $GROUP } |
ForEach-Object { Add-ADGroupMember -Identity $GROUP -Members $_ }
3条答案
按热度按时间but5z9lq1#
代码看起来不错,但如果利用Active Directory Filter:
-LDAPFilter "(!memberof=$group)"
搜索不属于您组的所有用户,这比查询搜索库中的所有用户然后使用powershell进行筛选要高效得多。rks48beu2#
我可能会使用
Add-ADPrincipalGroupMembership
来代替,它将用户作为管道输入,并将要添加到的组作为参数。shyt4zoc3#
类似这样的操作应该可以在不转储每个用户的情况下工作(-ne不会做你想做的事情,过滤器也不会接受-notcontains)。-eq使用左边的数组。-not优先级很高,所以需要括号。