У меня есть домен Windows, где мне нужно найти пользователей с включенной опцией never expire password - в рамках аудита и для связи с ними. У меня нет прав на установку каких-либо причудливых частей Powershell или чего-либо еще на серверах. Я подозреваю, что adsisearcher через Powershell мог бы сделать этот трюк. Мне также нужна контактная информация, например, адрес электронной почты (есть несколько адресов для многих пользователей, не уверен, что это что-то меняет). Также есть много не настоящих учетных записей пользователей, что может неоправданно раздуть список пользователей, с которыми нужно связаться.
Бит userAccountControl
для управления «Срок действия пароля не истекает» равен 0x10000
(65536 в десятичной системе).
Следующий фильтр LDAP вернет всех пользователей с установленной опцией:
(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=65536))
С поисковиком объявлений
это будет выглядеть примерно так:
$Searcher = [adsisearcher]'(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=65536))'
$PwdNeverExpireUsers = $Searcher.FindAll()