Добавить пользователей в определенную группу AD в зависимости от их отдела - PullRequest
0 голосов
/ 16 января 2019

Я хочу автоматически добавлять пользователей из определенного отдела в определенную группу безопасности AD.

Например, добавьте всех пользователей с атрибутом AD Department Sales, Reception или Finance в группу безопасности с именем APP Group.

Мне удалось придумать код, под которым только отображает пользователей, относящихся к конкретным департаментам.

Может кто-нибудь объяснить мне, как расширить этот код, чтобы пользователи были добавлены в группу безопасности?

Get-ADUser -Filter * -Properties department | 
    Where-Object {$_.department -Like "Sales" -or $_.department -Like "Reception" -or $_.department -Like "Finance"} | 
        Select sAMAccountName, department

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Использование ваших фактических требований к фильтру в 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
0 голосов
/ 16 января 2019

Вы можете создать массив желаемых пользователей и использовать его в качестве ввода для Add-ADGroupMember , например:

$UserList = Get-ADUser -Filter * -Properties department | 
    Where-Object {$_.department -Like "Sales" -or $_.department -Like "Reception" -or $_.department -Like "Finance"} | 
        Select sAMAccountName
Add-ADGroupMember -Identity 'APP Group' -Members $UserList
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...