首页 > 解决方案 > 将所有用户添加到 AD 组,不包括使用 powershell 的少数用户

问题描述

我有这个疑问,

必须将活动目录中的每个用户添加到一个组中,但是有一些用户不必在这个组中,

我已经知道这组被歧视用户的信息了。。

那么,有一种方法可以执行 powershell 命令,在其中我指定这组用户,并且每个与该组不匹配的用户都将被添加到组中?

我正在制作一个 csv 文件,所有用户都是 SamAccountName

Get-AdUser -Filter * | Select SamAccountName | Export-CSV c:\List.csv

,所以我可以添加带有组名称的第二列,之后我想在 powershell 中添加一个 where 子句,以将 SamAccountName 与另一个 csv 与一组受歧视的用户进行比较,但我不知道这是否会工作...

有简单的方法吗?

标签: powershellactive-directoryactive-directory-group

解决方案


你有很多选择。我会创建一个带有排除项的平面数组,然后在 Where 子句中使用它。

就像是:

$ExcludedUsers =
@(
    "user1"
    "user2"
    #...
)

$GroupMembers = Get-AdUser -Filter * | Where-Object{ $ExcludedUsers -notcontains $_.samAccountName} 
Add-ADGroupMember -Identity <GroupName> -Members $GroupMembers

如果您要从 csv 文件中提取排除项,则可以使用以下内容:

$ExcludedUsers = ( Import-Csv C:\ExcludedUsers.csv ).samAccountName
$GroupMembers  = Get-AdUser -Filter * | Where-Object{ $ExcludedUsers -notcontains $_.samAccountName} 
Add-ADGroupMember -Identity <GroupName> -Members $GroupMembers

让我知道这是否有帮助。


推荐阅读