使用 powershell 将所有用户添加到 AD 组中,不包括少数用户
Adding all users to a AD group excluding a few ones using powershell
我有这个疑问,
必须将 active directory 中的每个用户都添加到一个组中,但有一些用户不必在该组中,
我已经知道这组被歧视用户的信息..
所以,有一种方法可以执行 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
如果有帮助请告诉我。
$ExcludedUsers = @()
import-csv C:\ExcludedUsers.csv | ForEach-Object { $ExcludedUsers += $_.SamAccountName}
$GroupMembers = (Get-AdUser -Filter * | Where-Object{ $ExcludedUsers -notcontains $_.samAccountName})
Add-ADGroupMember -Identity GroupName -Members $GroupMembers
这就是我使用的代码,如果这对以后的任何人有帮助的话。
感谢史蒂夫
我有这个疑问,
必须将 active directory 中的每个用户都添加到一个组中,但有一些用户不必在该组中,
我已经知道这组被歧视用户的信息..
所以,有一种方法可以执行 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
如果有帮助请告诉我。
$ExcludedUsers = @()
import-csv C:\ExcludedUsers.csv | ForEach-Object { $ExcludedUsers += $_.SamAccountName}
$GroupMembers = (Get-AdUser -Filter * | Where-Object{ $ExcludedUsers -notcontains $_.samAccountName})
Add-ADGroupMember -Identity GroupName -Members $GroupMembers
这就是我使用的代码,如果这对以后的任何人有帮助的话。 感谢史蒂夫