Форум администраторов Windows
Серверные системы Microsoft => Windows Server 2008 => : maloy 07 Февраль 2013, 08:58:47
-
Приветствую, коллеги!
Возникла необходимость отфильтровать в консоли ADUC всех пользователей с активными учетными записями!
Насколько я понимаю мне нужно сделать специальный фильтр по LDAP запросу и применить его. Не нашел у пользователя атрибут, который отвечает за статус учетной записи (активна, заблокирована и т.д.). Подскажите плиз!!
-
За статус учетной записи отвечает атрибут userAccountControl (http://winitpro.ru/index.php/2018/05/14/convertaciya-atributa-useraccountcontrol-v-ad/).
Чтобы отфильтровать только активных пользователей можно использовать такой LDAP фильтр:
(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))
-
(!userAccountControl:1.2.840.113556.1.4.803:=2)
-
Опоздал :)
Дополню, то же самое на powershell можно сделать с помощью командлета Get-ADUser и параметра, задающего фильтр -LDAPFilter, например:
Get-ADUser -SearchBase "ou=Empoyers,dc=contoso,dc=com" -LDAPFilter "(!userAccountControl:1.2.840.113556.1.4.803:=2)"
Или с помощью командной строки и команды dsquery (LDAP фильтр немного расширим, чтобы отображались только пользователи без компьютеров):
dsquery * "ou=Empoyers,dc=contoso,dc=com" -Filter "(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))"
-
Спасибо! работает отлично!