Лучший отвечающий
Получение Operational Attribute(Constructed) в powershell

Вопрос
-
Всем добрый день.
Есть какие то варианты получать Operational Attribute(Constructed)
3.1.1.4.5.27 msDS-PrincipalName
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/808ac90e-e80d-4ce4-ad24-cb462dd06820при обычном ldapfilter ?
Используется Unix\Python и дефолтный ldap при работе с ActiveDirectory
нашел powershell script
https://social.technet.microsoft.com/wiki/contents/articles/52617.active-directory-document-all-attributes-of-specified-active-directory-object.aspx
Но что то, ссылки на галерею не работают, не могу проверить, использует ли он .NET библиотеки.
Я пытаюсь сфоромивать запрос
Get-ADObject -Properties * -LDAPFilter '(*,CN=ForeignSecurityPrincipals,*))' | select msDS-PrincipalName (не показывает ничего конечно)
https://jorgequestforknowledge.wordpress.com/2014/12/23/finding-attributes-marked-as-constructed/
Упоминается
: And yes, some constructed attributes can be retrieved when not using base LDAP queries. Examples are: msDS-ResultantPSO and msDS-PrincipalName
5 июля 2021 г. 18:00
Ответы
-
у вас в фильтре со скобками какая-то беда (одна открывающая, две закрывающие) + фильтр не похож на правильный так как по идее фильтр выглядит как параметр=значение
у вас значение есть, а вот какой параметр мы проверяем не понятно
посмотрите пример в справке описанный для параметра -LdapFilter
так же рекомендовал бы использовать параметр -Filter вместо -LdapFilter
The opinion expressed by me is not an official position of Microsoft
- Изменено Vector BCOModerator 6 июля 2021 г. 5:39
- Предложено в качестве ответа Alexander RusinovModerator 6 июля 2021 г. 9:33
- Помечено в качестве ответа Vector BCOModerator 2 августа 2021 г. 12:01
6 июля 2021 г. 5:36Модератор -
Я пытаюсь сфоромивать запрос
Get-ADObject -Properties * -LDAPFilter '(*,CN=ForeignSecurityPrincipals,*))' | select msDS-PrincipalName (не показывает ничего конечно)
https://jorgequestforknowledge.wordpress.com/2014/12/23/finding-attributes-marked-as-constructed/
Упоминается
: And yes, some constructed attributes can be retrieved when not using base LDAP queries. Examples are: msDS-ResultantPSO and msDS-PrincipalName
Фильтр неверный: нельзя в сравнении значения типа "полное имя в каталоге" (Distinguished Name) использовать подстановочные знаки (*, частности), там допустимы только строки, содержащие имя целиком.
Для задания контейнера, в котором надо делать поиск, используйте параметр SearchBase. Увы, совсем ленивый вариант не пройдет:имя домена в нем надо написать ваше - впрочем, несложно вытащить его другой командой и подставить в вашу. А фильтр там вообще не нужен.
Короче, вам подойдет такой код, если на PS:
Get-ADObject -Filter * -Property msDS-PrincipalName -SearchBase "CN=ForeignSecurityPrincipals,$((Get-ADRootDSE).rootDomainNamingContext)" -SearchScope OneLevel | select msDS-PrincipalName
Если вам нужно вытащить это из программы через LDAP, то там все делается аналогично: в запросе LDAP есть четыре части, так вот, в одной из них как раз указывается база поиска. А имя корневого домена леса точно так же можно вытащить через запрос RootDSE (читайте документацию, как к нему обратиться).
PS Когда где-то что-то "упоминается", а вы не поняли - надо таки это перевести: в данном случае вы бы сами увидели, что к вашей проблеме оно отношения явно не имеет.
Слава России!
- Изменено M.V.V. _ 12 июля 2021 г. 17:35
- Помечено в качестве ответа Vector BCOModerator 2 августа 2021 г. 12:00
12 июля 2021 г. 17:26
Все ответы
-
у вас в фильтре со скобками какая-то беда (одна открывающая, две закрывающие) + фильтр не похож на правильный так как по идее фильтр выглядит как параметр=значение
у вас значение есть, а вот какой параметр мы проверяем не понятно
посмотрите пример в справке описанный для параметра -LdapFilter
так же рекомендовал бы использовать параметр -Filter вместо -LdapFilter
The opinion expressed by me is not an official position of Microsoft
- Изменено Vector BCOModerator 6 июля 2021 г. 5:39
- Предложено в качестве ответа Alexander RusinovModerator 6 июля 2021 г. 9:33
- Помечено в качестве ответа Vector BCOModerator 2 августа 2021 г. 12:01
6 июля 2021 г. 5:36Модератор -
Я пытаюсь сфоромивать запрос
Get-ADObject -Properties * -LDAPFilter '(*,CN=ForeignSecurityPrincipals,*))' | select msDS-PrincipalName (не показывает ничего конечно)
https://jorgequestforknowledge.wordpress.com/2014/12/23/finding-attributes-marked-as-constructed/
Упоминается
: And yes, some constructed attributes can be retrieved when not using base LDAP queries. Examples are: msDS-ResultantPSO and msDS-PrincipalName
Фильтр неверный: нельзя в сравнении значения типа "полное имя в каталоге" (Distinguished Name) использовать подстановочные знаки (*, частности), там допустимы только строки, содержащие имя целиком.
Для задания контейнера, в котором надо делать поиск, используйте параметр SearchBase. Увы, совсем ленивый вариант не пройдет:имя домена в нем надо написать ваше - впрочем, несложно вытащить его другой командой и подставить в вашу. А фильтр там вообще не нужен.
Короче, вам подойдет такой код, если на PS:
Get-ADObject -Filter * -Property msDS-PrincipalName -SearchBase "CN=ForeignSecurityPrincipals,$((Get-ADRootDSE).rootDomainNamingContext)" -SearchScope OneLevel | select msDS-PrincipalName
Если вам нужно вытащить это из программы через LDAP, то там все делается аналогично: в запросе LDAP есть четыре части, так вот, в одной из них как раз указывается база поиска. А имя корневого домена леса точно так же можно вытащить через запрос RootDSE (читайте документацию, как к нему обратиться).
PS Когда где-то что-то "упоминается", а вы не поняли - надо таки это перевести: в данном случае вы бы сами увидели, что к вашей проблеме оно отношения явно не имеет.
Слава России!
- Изменено M.V.V. _ 12 июля 2021 г. 17:35
- Помечено в качестве ответа Vector BCOModerator 2 августа 2021 г. 12:00
12 июля 2021 г. 17:26