Многократные фильтры powershell - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь создать сценарий PS, чтобы автоматически удалять почти все членство в группах со всех учетных записей в нашем подразделении для отключенных пользователей.Я нашел хороший сценарий, который был изменен участником несколько лет назад, чтобы удалить все группы с 1 исключением.

Сейчас я пытаюсь найти способ добавить несколько исключений.

Мы используем группы AD для лицензирования наших почтовых ящиков o365, и нам необходимо сохранить членство в этих группах в течение 90 дней после отделения.

Текущий скрипт, который у меня есть, таков:

$ou = Get-ADUser -SearchBase "OU=Disabled,DC=domain,DC=local" -Filter *
foreach ($user in $ou) {
$UserDN = $user.DistinguishedName
Get-ADGroup -LDAPFilter "(member=$UserDN)" | foreach-object {
if ($_.name -ne "Domain Users") {remove-adgroupmember -identity $_.name -member $UserDN -Confirm:$False} }
}

Как бы я изменил этот раздел, чтобы добавить больше отфильтрованных групп?

if ($_.name -ne "Domain Users") {remove-adgroupmember -identity $_.name -member $UserDN -Confirm:$False}

Заранее спасибо за помощь!Chris

1 Ответ

0 голосов
/ 25 августа 2018

Если вы хотите сравнить со списком, вместо строки, вы можете использовать оператор -notin. Например:

$GroupsToKeep = 'Domain Users','O365 Licensing','Hates Pie'
$ou = Get-ADUser -SearchBase "OU=Disabled,DC=domain,DC=local" -Filter *
foreach ($user in $ou) {
    $UserDN = $user.DistinguishedName
    Get-ADGroup -LDAPFilter "(member=$UserDN)" | foreach-object {
        if ($_.name -notin $GroupsToKeep) {
            remove-adgroupmember -identity $_.name -member $UserDN -Confirm:$False
        } 
    }
}

Это исключило бы каждого пользователя в этом подразделении из любой группы, кроме «Пользователи домена», «Лицензирование O365» и «Пирог ненависти» (мне ненавистный пирог кажется неестественным, я должен следить за ним, они могут быть вампирами).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...