Я хотел бы удалить участников из группы, если они имеют какое-либо значение в атрибуте employeeNumber для AD. Я могу вернуть всех членов группы, используя Get-ADGroupMember, но как я могу перебрать их для удаления членов, у которых есть значение?Powershell - удалить участников из группы с атрибутом AD
1
A
ответ
2
Попробуйте что-то вроде этого, чтобы перечислить членов группы, которые имеют установленный атрибут:
Get-ADGroupMember 'groupname' | Get-ADUser -Properties * |
? { $_.employeeNumber -ne $null }
Чтобы действительно удалить эти элементы из группы, вы должны добавить второй шаг, как это:
$membersToRemove = Get-ADGroupMember 'groupname' `
| Get-ADUser -Properties * `
| ? { $_.employeeNumber -ne $null } `
| % { $_.sAMAccountName }
Remove-ADGroupMember 'groupname' $membersToRemove
1
$members = Get-ADGroupMember -Identity group1 |
Where-Object { (Get-ADUser -Filter {SamAccountName -eq $_.SamAccountName} -Properties EmployeeNumber).EmployeeNumber }
Remove-ADGroupMember -Identity group1 -Members $members -Confirm:$false
О, это здорово! Большое спасибо! – user2145047
Вы уверены, что удалили участников? –
Если бы этот вопрос был направлен на меня: так как это код, просто перечисляет члены данной группы, у которых есть атрибут 'employeeNumber'. Он ничего не удаляет. –