Фильтрация вывода «DistinguishedName» с помощью Search-ADAccount - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь выполнить поиск через AD с помощью командлета Search-ADAccount, чтобы найти учетные записи, которые включены, но не вошли в систему в течение последних 90 дней. Приведенные ниже команды адекватно находят включенные учетные записи AD в доменах, которые не входили в систему в течение последних 90 дней. Однако я пытаюсь отфильтровать записи, в которых поле «DistinguishedName» содержит текст «Учетная запись службы».

Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 |
    Select-Object -Property Name, Enabled, LastLogonDate, DistinguishedName |
    Where-Object {
        $_.Enabled -like 'True' -and
        $_.DistinguishName -notmatch "Service Account"
    }

Кажется, что приведенная выше команда работает нормально для поиска включенных учетных записей и последнего входа в систему. Тем не менее, какой текст я вставил в -notmatch "...", кажется, игнорируется PowerShell? Также попытался -notLike, и я получаю то же самое поведение.

1 Ответ

0 голосов
/ 18 июня 2019

Спасибо boxdog за то, что он заметил неправильное написание DisinguishedName в Where-Object, в котором отсутствует "ed".Это исправило проблему в сочетании с вашим другим комментарием об отсутствующих подстановочных знаках *Service Account*.

Обновленная команда PowerShell:

 Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 | 
   Where-Object {
      $_.Enabled -like 'True' -and 
      $_.DistinguishedName -NotLike "*Service Account*"
   } | 
   Select-Object -Property Name,Enabled,LastLogonDate,DistinguishedName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...