Несколько предложений Where-Object без эффекта - PullRequest
0 голосов
/ 11 июля 2019

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

Я пытался проверить, работают ли пункты, если я просто попробую их в одиночку, оставив остальные на данный момент,В этом случае также исключаются только администраторы, другие пункты вообще не будут иметь эффекта

Я изменил некоторые вещи для защиты данных.

$AdminOU = "OU=Admins,OU=Users,OU=Location,DC=company,DC=local"
$EXOU = "OU=Ex-workers,OU=Users,OU=Location,DC=company,DC=local"
$InactiveOU = "OU=deactivated,OU=aprenticeship,OU=Users,OU=Location,DC=company,DC=local"

$UsersWithDN = Get-ADUser -searchBase "$OUPath" -Filter * | 
    Where-Object {($_.distinguishedName -notlike "CN=*,$AdminOU") -and 
                  ($_.distinguishedName -notlike "CN=*,InactiveOU") -and 
                  ($_.distinguishedName -notlike "CN=*,EXOU")} | 
        Select-Object Samaccountname,distinguishedName

Нет ошибок, появляющихся,Я ожидаю получить список, в котором администраторы, бывшие работники и деактивированные учетные записи не учитываются.Однако я получаю только список, в котором не учтены администраторы.

1 Ответ

2 голосов
/ 11 июля 2019

Это потому, что в критерии соответствия не входит $, поэтому переменная ссылается некорректно? Первый -notlike "CN=*,$AdminOU" правильно, однако два других не имеют $ внутри критериев соответствия, т.е. -notlike "CN=*,InactiveOU" и -notlike "CN=*,EXOU". Вы пытались изменить его на "CN=*,$InactiveOU" и "CN=*,$EXOU"? Это должно помочь.

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