как убрать пользователей из группы объявлений - PullRequest
0 голосов
/ 08 мая 2018

Мы пытаемся убрать пользователя из всех групп объявлений, когда его называют в базе данных HR. У меня есть окончание учетной записи пользователя, но как мы можем использовать этого конкретного пользователя в нашей назначенной группе с помощью powershell.

Ответы [ 3 ]

0 голосов
/ 08 мая 2018

Для начала вам необходимо получить memberOf пользователя и distinguishedName

пользователя.

В следующем примере я получаю пользователя по его имени входа (samaccountname). Вы можете использовать любой атрибут, который вам нужен, если он возвращает правильного пользователя:

$testUser = "Test User"

$user = Get-ADUser -filter {Samaccountname -eq $testUser} -Properties memberof, distinguishedName
$Groups = $user.MemberOf
$DN = $user.DistinguishedName

Затем, чтобы удалить пользователя из его текущего членства, вы можете просто поместить его в foreach:

foreach($group in $groups)
{
    Remove-ADGroupMember -Members $DN -Identity $group -Confirm:$false
}

-Confirm:$false - подавить предупреждение об удалении. Вы можете удалить эту часть во время тестирования

0 голосов
/ 08 мая 2018

Многие скажут вам посмотреть на атрибут пользователя memberOf. Это будет хорошо работать в большинстве случаев.

Однако memberOf показывает только группы с областью действия «Универсальный» в любом домене леса или «Глобальные» группы в одном домене. Он не будет отображать группы с областью «Локальный домен» (независимо от домена) или «Глобальные» группы в других доменах.

Чтобы гарантировать, что вы найдете все группы, членом которых является пользователь, вам необходимо выполнить поиск в каждом домене вашего леса, чтобы найти группы, членами которых он является:

Import-Module ActiveDirectory

$user = Get-ADUser "theuser"

$domains = (Get-ADForest).Domains
$groups = New-Object System.Collections.ArrayList

foreach ($domain in $domains) {
    $groups.AddRange(@(Get-ADGroup -filter {member -eq $user.DistinguishedName} -Server $domain))
}

Тогда $groups содержит список групп, и вы можете использовать Remove-ADGroupMember для удаления пользователя из этих групп.

Опять же, это относится только к вам, если вы:

  1. В вашем лесу более одного домена и / или
  2. Использовать группы 'Local Local'
0 голосов
/ 08 мая 2018

Вам нужно будет извлечь объект ADUser перед его удалением из ActiveDirectory, изучить его свойство .MemberOf и затем выполнить эти группы с помощью командлета Remove-ADGroupMember.

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