2009-12-17 23 views
7

Discúlpeme por mi ignorancia, no sé mucho sobre AD (deje solo consultas con AD o buscando en Google para eso). Me gustaría obtener una lista de todos los usuarios de un dominio en particular, su nombre, apellido e ID de correo electrónico. ¿Sería capaz de hacer eso un administrador de red (o un servicio de ayuda en mi caso)? Mi otra opción: tengo los nombres de usuario en una hoja de Excel, nombre completo en otro archivo de texto (entre otros datos, por ejemplo, XXXyy, nombre apellido), tendría que dividir, analizarlo para extraer el nombre y correo electrónico en otro archivo y ninguno de ellos están en orden. Puede haber algunos datos que faltan también :(Consulta de Active Directory para nombre de usuario, nombre, apellido y correo electrónico

¿Cuál sería la mejor manera de hacerlo con consultas ad

Editar:?. Puede ser que debería ser más específico si yo estaba viendo lo que mi administrador de red lo haría sea ​​haciendo conseguirme esta información, lo que estaría haciendo?

+1

Por favor, especifique la plataforma. –

+0

Windows Server 2003/2008 – ram

Respuesta

4

Active Directory expone la interfaz de consulta a través de OLE DB y ADO. El proveedor es "ADsDSOObject", la sintaxis de consulta es la siguiente:

< LDAP: // DC = mi-dominio, DC = com >; (OBJECTTYPE = usuario); givenname, sn

Excel no lo hace tener un cliente ADO incorporado, a menos que codifique en VBA.

ACTUALIZACIÓN: escribió un simple script de consulta JavaScript para usted:

var conn = new ActiveXObject("ADODB.Connection"); 
conn.Open("Provider=ADsDSOObject"); 
var rs = conn.Execute("<LDAP://DC=your-domain,DC=com>;(objectClass=user);sn,givenname"); 
var i; 
if(!rs.EOF) 
{ 
    rs.MoveFirst(); 
    while(!rs.EOF) 
    { 

     WScript.Echo(rs.Fields.Item("givenname")+","+rs.Fields.Item("sn")+"\n"); 
     rs.MoveNext(); 
    } 
} 

Se consulta la fiest y apellido de todos los usuarios de su dominio. Coloque su nombre de dominio en la tercera línea. A continuación, guardarlo como un archivo .js, y ejecutar de esta manera:

cscript adquery.js >a.txt 

Y que va a terminar con un archivo de texto llamado a.txt, con los nombres de sus usuarios, separada por comas. Importe en Excel o algo.

4

Si está utilizando la plataforma .NET, yo sugeriría mirar en el System.DirectoryServices namespace, que "proporciona un fácil acceso a los servicios de dominio de Active Directory desde el código administrado. "

MSDN también proporciona muestras de código para realizar tareas comunes usando System.DirectoryServices , disponible tanto en VB como en C#. Si está familiarizado con uno de estos idiomas, es de esperar que pueda obtener lo que necesita (al menos para comenzar, y luego quizás pueda hacer otras preguntas más específicas aquí en SO) a partir de estos ejemplos.

Espero que esto ayude!

Cuestiones relacionadas