powershell - 使用Powershell将所有用户(少数用户除外)添加到AD组

标签 powershell active-directory active-directory-group

我有这个疑问
必须将 Activity 目录中的每个用户添加到一个组中,但是有一些用户不必属于该组,
我已经知道这组歧视用户的信息。
因此,有一种方法可以执行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
让我知道是否有帮助。

关于powershell - 使用Powershell将所有用户(少数用户除外)添加到AD组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63081574/

相关文章:

Powershell FileSystemWatcher 脚本在一些新文件上触发两次

powershell - 使用空用户名创建PSCredential

c# - Powershell 和 C# : add a parameter script in a pipeline

powershell - PowerShell 中计算机的 NetBIOS 域

powershell - 使用 Powershell 将字符串转换为特定时区的 DateTime 对象

authentication - 在带有 Windows Server 2008 的 IIS 7 上使用委派设置 Kerberos 身份验证

reactjs - 使用 .NET Core Web API 和 React 进行 Active Directory 身份验证

powershell - 使用 powershell 在 Active Directory 对象的 ACL 中设置 "Write member attribute"

c# - 使用 C# 检索 Active Directory 组中的所有用户

java - LDAP查询获取一个组的所有组(嵌套)