Я пытаюсь работать с настраиваемым атрибутом в экземпляре 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 }