Назад | Перейти на главную страницу

Модуль Active Directory для PowerShell Get-ADObject и Set-ADObject не работают с настраиваемым атрибутом

Я пытаюсь работать с настраиваемым атрибутом в экземпляре AD LDS, который я не создавал, с помощью модуля Active Directory для PowerShell. К сожалению, командлеты Get-ADObject и Set-ADObject не возвращают ожидаемых результатов. Фактически, любые параметры, использующие язык PowerShell, не работают с этим атрибутом. Настраиваемый атрибут имеет отображаемое имя LDAP "jenzabar-ICSNET-GenericFlags".

Get-ADObject не возвращает результатов, если я использую настраиваемый атрибут в своем параметре Where-Object, хотя я знаю, что существует множество объектов с этим настраиваемым атрибутом, установленным на это значение:

Get-ADObject -Server 'localhost:389' -SearchBase 'CN=Academics,CN=Portal,O=Jenzabar,C=US' | Where-Object {$_.'jenzabar-ICSNET-GenericFlags' -eq '1'

Однако, если я использую настраиваемый атрибут в параметре фильтра, я вижу ожидаемый список результатов:

Get-ADObject -Server 'localhost:389' -SearchBase 'CN=Academics,CN=Portal,O=Jenzabar,C=US' -Filter 'jenzabar-ICSNET-GenericFlags -eq 1'

Кроме того, если я использую этот запрос и выбираю jenzabar-ICSNET-GenericFlags из результатов, тогда, хотя я получаю результаты, столбец, показывающий настраиваемый атрибут, будет пуст. В столбце даже нет скобок {}, как будто я выбрал неизвестный атрибут. В столбце вообще ничего нет.

Наконец, Set-ADObject, используемый для замены значения настраиваемого атрибута, кажется, не работает без предупреждения. Этот запрос не выдает ошибок или других сообщений, но не может изменить настраиваемый атрибут:

Set-ADObject -Server 'localhost:389' -Identity 'CN=Overview,OU=Pages,CN=2014 JA-WTC  600-05,CN=WTC  600,CN=WTC,CN=Academics,CN=Portal,O=Jenzabar,C=US' -Replace @{'jenzabar-ICSNET-GenericFlags'='0'}

Я знаю, что должно быть какое-то правило относительно того, с какими атрибутами я могу использовать командлеты Get-ADObject и Set-ADObject, но я не знаю, каковы правила. Я не знаю, как определить, что это за атрибут. Схема Active Directory не установлена.

Заранее спасибо.

Get-ADObject возвращает только подмножество атрибутов из Active Directory.

Вы можете указать дополнительные атрибуты с помощью Properties параметр:

$ADObjectSplat = @{
    Server     = 'localhost:389'
    SearchBase = 'CN=Academics,CN=Portal,O=Jenzabar,C=US'
    Properties = 'jenzabar-ICSNET-GenericFlags'
}
Get-ADObject @ADObjectSplat | Where-Object { $_.'jenzabar-ICSNET-GenericFlags' -eq 1 }