Я могу удалить все членство для пользователей.Я пробовал сценарий, как показано ниже.Мой вопрос: я искал сценарий, который удалил бы определенное членство в группе.Также у нас есть большой список пользователей в файле CSV.
$RemovefromGroups = $UserisMember.memberOf | ForEach-Object {Get-ADGroup -Filter "name -like '*group*'"}
Сообщение об ошибке:
Get-ADGroup : A positional parameter cannot be found that accepts argument 'CN=group_name,OU=GP,DC=contoso,DC=com'.
At line:1 char:73
+ $RemovefromGroups = $UserisMember.memberOf | ForEach-Object {Get-ADGroup <<<< $_ -Filter "name -like '*group*'"}
+ CategoryInfo : InvalidArgument: (:) [Get-ADGroup], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.GetADGroup
Код:
#import csv info for use in foreach loop
$csv = import-csv "c:\temp\a.csv" #have header column for "userinput"
foreach ($v in $csv) {
$userinput = $v.userinput
# Remove user from all AD groups
$UserisMember = Get-ADUser $userinput -Properties memberOf
$RemovefromGroups = $UserisMember.memberOf | ForEach-Object {Get-ADGroup $_ }
$RemovefromGroups | ForEach-Object { Remove-ADGroupMember -Identity $_ -Members $UserisMember -Confirm:$false}
}