Использование ваших фактических требований к фильтру в Get-ADUser -Filter
намного быстрее, чем отправка всего к Where-Object
и сортировка по всех пользователей в вашем домене .
Затем можно использовать конвейер для добавления пользователей в группу с помощью Add-ADPrincipalGroupMembership
.
$filter = 'Department -eq "Sales" -Or Department -eq "Reception" -Or Department -eq "Finance"'
Get-ADUser -Filter $filter | Add-ADPrincipalGroupMembership -MemberOf 'APP Group'
Я поместил фильтр в переменную для удобства чтения, но это может быть одна строка:
Get-ADUser -Filter 'Department -eq "Sales" -Or Department -eq "Reception" -Or Department -eq "Finance"' | Add-ADPrincipalGroupMembership -MemberOf 'APP Group'
EDIT:
Я не могу проверить работу удаленно, но вы должны просто иметь возможность отфильтровывать пользователей в группе, уже использующих memberof
:
$ADGroup = 'APP Group'
Get-ADUser -Filter 'Department -eq "Sales" -Or Department -eq "Reception" -Or Department -eq "Finance"' |
Where-Object {!($_.memberof -like $ADGroup)} |
Add-ADPrincipalGroupMembership -MemberOf $ADGroup