powershell - 将所有用户添加到 AD 组,不包括使用 powershell 的少数用户
问题描述
我有这个疑问,
必须将活动目录中的每个用户添加到一个组中,但是有一些用户不必在这个组中,
我已经知道这组被歧视用户的信息了。。
那么,有一种方法可以执行 powershell 命令,在其中我指定这组用户,并且每个与该组不匹配的用户都将被添加到组中?
我正在制作一个 csv 文件,所有用户都是 SamAccountName
Get-AdUser -Filter * | Select SamAccountName | Export-CSV c:\List.csv
,所以我可以添加带有组名称的第二列,之后我想在 powershell 中添加一个 where 子句,以将 SamAccountName 与另一个 csv 与一组受歧视的用户进行比较,但我不知道这是否会工作...
有简单的方法吗?
解决方案
你有很多选择。我会创建一个带有排除项的平面数组,然后在 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
让我知道这是否有帮助。