Добрый день. Я не прогер, но порой приходится кодить. Задача - отбор из АД пользователей, входящих в группу. С этим справился. НО. при этой, пользователи должны быть Активными. Для отбора активных нашел фильтр - Код (Text): (!(userAccountControl:1.2.840.113556.1.4.803:=2)) . Он рабочий. Но соединить этот фильтр с фильтром вхожждения в группу не получается. Помогите. По идее, рабочий вариант такой: Код (Text): $search_filter_vpn_guest = '(&(!(userAccountControl:1.2.840.113556.1.4.803:=2))(objectClass=group)(cn=VPN))'; не работает. Пробовал различные варианты скобок и вложенные (&( &() )), не работает.
Не надо бессмысленных сообщений. От этого спецы по LDAP не набегут. И не забывайте, что тут никто ничего для вас делать не обязан. --- Добавлено --- А вообще, давно бы разместили заказ на какой-нибудь фриланс бирже Можно и у нас.
есть один образец, может подтолкнет к чему-нибудь PHP: $ldapconn = ldap_connect("ldap.example.com") or die("Could not connect to LDAP server."); ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0); $ldapbind = ldap_bind($ldapconn, "почта", "пароль"); $group = "имя_группы"; $basedn = "OU=путь_к_группе,DC=domain,DC=com"; $filter = "(&(objectClass=user)(memberOf=CN=$group,$basedn)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))"; $attributes = array("cn", "имя_аккаунта", "почта"); $search = ldap_search($ldapconn, $basedn, $filter, $attributes); $info = ldap_get_entries($ldapconn, $search); for ($i = 0; $i < $info["count"]; $i++) { echo "Имя: " . $info[$i]["cn"][0] . "<br>"; echo "Никнейм: " . $info[$i]["имя_аккаунта"][0] . "<br>"; echo "Email: " . $info[$i]["почта"][0] . "<br><br>"; } ldap_unbind($ldapconn);