Удалить участника из группы AD без использования модулей - PullRequest
0 голосов
/ 07 октября 2019

Я работаю в среде, где на сервере мне не разрешено устанавливать / использовать модули powershell (например, модуль активного каталога).

Я пытаюсь удалить членов группы, которые хранятсяв массиве.

Итак, допустим, что массив, содержащий удаляемые члены, называется toberemoved:

$toberemoved = @("COMPUTER1","COMPUTER2","COMPUTER5")

, а группа называется: Global Computer Group:

$computergroup = "Global Computer Group"

То, что я пытался сделать, это:

$findgroup=[adsi]"LDAP://$computergroup"
foreach($item in $toberemoved) {
    $findgroup.Remove("LDAP://$item")
}

Я также пробовал это:

$findgroup=[adsi]"LDAP://$computergroup"

foreach($item in $toberemoved) {
     $base = "CN=$item,DC=Domain,OU=Computers,OU=local"
     $findgroup.Remove("LDAP://$item")
}

безуспешно.

Что я получаю при попыткезапустить это в PowerShell ISE, что у меня ошибка сервера. Любые идеи о том, что может пойти не так, или другая идея сделать это без использования модуля AD?

1 Ответ

1 голос
/ 07 октября 2019

Вы пытались использовать полные имена ADsPath? Посмотрите на эту замечательную статью, написанную на ней. https://www.petri.com/managing-active-directory-groups-adsi-powershell

TLDR?

А вот и вы:

[adsi]$Group = "LDAP://CN=GroupName,OU=OrganizationalUnit,DC=Your,DC=Domain,DC=com"
foreach($User in $toberemoved) { #Again, full ADsPaths
    $Group.Remove($User)
}
...