PHP y AD

11/05/2005 - 19:34 por Cristian Andrade | Informe spam
Buenas tardes

queria saber como puedo, agregar, eliminar, ,modificar, listar usuarios de
Active Directory mediante PHP o algun lenguaje de Programacion que soporte
Unix y Windows????? alguien sabe de alguno???

lo ideal seria que estuviera en PHP

gracias
 

Leer las respuestas

#1 Alvaro G Vicario
12/05/2005 - 10:50 | Informe spam
*** Cristian Andrade wrote/escribió (Wed, 11 May 2005 10:34:04 -0700):
queria saber como puedo, agregar, eliminar, ,modificar, listar usuarios de
Active Directory mediante PHP o algun lenguaje de Programacion que soporte
Unix y Windows????? alguien sabe de alguno???



En PHP tienes funciones para LDAP que (tal vez) te pueden servir.
Naturalmente tienes que ejecutar el script con los datos de un
administrador.

Una pequeña prueba que hice en su día:

<?php

header('Content-Type: text/html; charset=UTF-8');

$ldap_servidor='dominio.local';
$ldap_usuario='';
$ldap_contrasena='blablabla';
//$ldap_dn = "OU=Domain Controllers,DC=dominio,DC=local";
$ldap_dn='DC=dominio,DC=local';


/*
* Conectamos con el servidor y nos autenticamos
*/
$ldap_conexion=ldap_connect('ldap://' . $ldap_servidor) or die('Error: no
se ha podido conectar con el Directorio Activo.');
ldap_set_option($ldap_conexion, LDAP_OPT_PROTOCOL_VERSION, 3);
$bind=@ldap_bind($ldap_conexion, $ldap_usuario, $ldap_contrasena) or
die('Error: no se ha podido abrir sesión en el Directorio Activo: '.
ldap_error($ldap_conexion));


/*
* Buscamos los usuarios
*/
$atributos=array('samaccountname', 'userprincipalname', 'displayname');
$filtro='(&(objectClass=user)(objectCategory=person)(cn=*))';
$res=ldap_search($ldap_conexion, $ldap_dn, $filtro/*, $atributos*/);
$num_entradas=ldap_count_entries($ldap_conexion, $res);
$entradas=ldap_get_entries($ldap_conexion, $res);
echo '<p>La búsqueda ha devuelto <strong>' . $num_entradas . '</strong>
entrada(s):</p>';

echo '<table border><tr>';
foreach($atributos as $i){
echo '<th>' . htmlspecialchars($i) . '</th>';
}
echo '</tr>';

foreach($entradas as $i){
echo '<tr>';
foreach($atributos as $j){
echo '<td>';
if(isset($i[$j])){
echo htmlspecialchars($i[$j][0]);
}else{
echo '&nbsp;';
}
echo '</td>';
}
echo '</tr>';
}

echo '</table>';

/*
* Cerramos la conexión
*/
//ldap_unbind($ldap_conexion);
ldap_close($ldap_conexion);


?>

Preguntas similares