Как получить максимальный срок действия пароля групповой политики Active Directory с использованием LDAP - PullRequest
0 голосов
/ 23 января 2019

Я хотел бы получить групповую политику в отношении паролей от компании Active Directory, но я не могу найти какую-либо информацию о том, как отфильтровать результаты поиска, чтобы найти атрибуты.

Сначала я хочу получитьмаксимальный срок действия пароля, который должен быть атрибутом msDS-MaximumPasswordAge.

Поисковый запрос, который я пробовал:

ldap_search($ldap, 'CN=Policies,CN=System,DC=company,DC=com', '(objectClass=*)', array('msDS-MaximumPasswordAge'));

Это самый широкий фильтр, который я пробовал, но он возвращаетнет объекта, где количество не равно нулю.Конечно, для этого примера я заменил имя DC.

Я что-то пропустил?Стоит ли искать в другом контейнере?

Заранее большое спасибо.

ОБНОВЛЕНИЕ: Я обнаружил, что AD сохраняет дату истечения срока действия пароля под объектом пользователякак атрибут msDS-UserPasswordExpiryTimeComputed, так что это помогло, но мне все еще нужно найти объект настройки пароля, чтобы получить все остальные политики паролей.

1 Ответ

0 голосов
/ 24 января 2019

Вы уверены, что реализовали групповую политику с включенными msDS-PasswordSettings?

Вам следует использовать фильтр типа (& (objectClass = msDS-PasswordSettings))

и вернуть атрибут"msDS-MaximumPasswordAge".

В файле LDIF появляется запись msDS-PasswordSettings, например:

dn: CN=PS??,CN=Password Settings Container,CN=System,DC=dc1,DC=contoso,DC=com
objectClass: msDS-PasswordSettings
msDS-MaximumPasswordAge:-1728000000000
msDS-MinimumPasswordAge:-864000000000
msDS-MinimumPasswordLength:8
msDS-PasswordHistoryLength:24
msDS-PasswordComplexityEnabled:TRUE
msDS-PasswordReversibleEncryptionEnabled:FALSE
msDS-LockoutObservationWindow:-18000000000
msDS-LockoutDuration:-18000000000
msDS-LockoutThreshold:0
msDS-PasswordSettingsPrecedence:20
msDS-PSOAppliesTo:CN=user1,CN=Users,DC=dc1,DC=contoso,DC=com

-jim

...