none
Exportación de lista de usuarios de un Grupo de Distribución

    Question

  • Buenos dias, queria saber la forma de exportar los miembros de un grupo de distribución, ya que con las querys se puede sacar de las OU, pero no encuentro la forma de hacerlo en los Grupos de Dist.
    Tengo server 2008.
    Espero me puedan ayudar.

    Un saludo
    Wednesday, March 17, 2010 10:20 AM

Answers

  • Cuando lo ejecutes el .vbs, lo rediriges a un archivo de texto del estilo  cscript nombre.vbs > salida.txt
    Saludos, Marc
    • Marked as answer by Franxiscu Wednesday, March 17, 2010 3:49 PM
    Wednesday, March 17, 2010 1:55 PM
  • Prueba este comando a ver si funciona como quieres

    dsquery group -name "Nombre del grupo" | ds get group -members > "Datos.txt"

    Por supuesto usa el correspondiente "Nombre del grupo" y puedes cambiarle el nombre al archivo en el que te dejará los datos.

    Guillermo Delprato - MVP-MCT-MCSE-MCSA MCITP: Enterprise/Server Administrator MCTS: Active Directory/Network/Applications Configuration --- Este mensaje se proporciona "como está" sin garantías de ninguna clase. Usted asume todos los riesgos. --- Buenos Aires, Argentina
    • Marked as answer by Franxiscu Wednesday, March 17, 2010 3:49 PM
    Wednesday, March 17, 2010 2:42 PM

All replies

  • Prueba con ese script

    ' EnumDLGroup.vbs
    ' The script will enumerate all members (users and contacts) of a 
    ' given Distribution List.
    ' Nested groups are expanded.
    ' No duplicates will be output as the script uses Scripting.Dictionary object
    ' for intermidiate membership storage.
    
    ' Created by Guy Teverovsky August 03, 2005
    
    Option Explicit
    
    
    Dim rs,conn
    Set conn = CreateObject("ADODB.Connection")
    conn.Provider = "ADSDSOObject"
    conn.Open "ADs Provider"
    
    
    Dim oMembersList
    Set oMembersList = CreateObject("Scripting.Dictionary")
    oMembersList.CompareMode = vbTextCompare
    
    Dim arrKeys,i,sDLsamAccountName,sGroupDN
    
    '----------Start Change me------------------
    sDLsamAccountName = "TEST"
    '-----------End Change me-------------------
    
    
    sGroupDN = findDLGroup(sDLsamAccountName)
    enumGroupMembers sGroupDN
    
    
    arrKeys = oMembersList.Keys   ' Get the keys.
    For i = 0 To oMembersList.Count -1 
    	WScript.Echo arrKeys(i) & ": " & oMembersList(arrKeys(i))
    Next
    
    
    'Clean up
    Set conn 		= Nothing
    Set oMembersList	= Nothing
    
    
    '==============================================================
    '			Subroutines
    '==============================================================
    
    
    '==============================================================
    ' Locate a distribution list by sAMAccountName
    ' 
    ' Parameters:
    '	- sAMAccountName: the NT-style name of the DL
    '==============================================================
    
    Function findDLGroup(sAMAccountName)
    	Dim objRootDSE, domainContainer, oGroup,ldapStrExchDL
    	Set objRootDSE	= GetObject("LDAP://RootDSE")
    	domainContainer = objRootDSE.Get("defaultNamingContext")
    	ldapStrExchDL = "<LDAP://" & domainContainer & _
    		">;(&(objectCategory=group)(!groupType:1.2.840.113556.1.4.803:=2147483648)(sAMAccountName=" & sAMAccountName & "));adspath;subtree"
    	Set rs = conn.Execute(ldapStrExchDL)
    	If Not rs.EOF Then
    		Set oGroup = GetObject (rs.Fields(0).Value)
    		findDLGroup = oGroup.distinguishedName
    	Else
    		WScript.Echo "Group not found"
    		WScript.Quit 0
    	End If
    	Set objRootDSE = Nothing
    End Function
    
    
    '==============================================================
    ' Recursive subroutine to enumerate members of a given group
    ' 
    ' Parameters:
    '	- sObjDN: group object's DN to enumerate it's members
    '==============================================================
    Sub enumGroupMembers(sObjDN)
    	Dim oContainer, obj, sDN	
    
      	Set oContainer=GetObject ("LDAP://" & sObjDN)  	
    	
    	For each obj in oContainer.members
      		Select Case LCase(obj.Class)  	
    		Case "user" , "contact"
    			If Not oMembersList.Exists(obj.sAMAccountName) Then
    				oMembersList.Add obj.sAMAccountName, obj.Get("mail")
    			End If
    		Case "contact"
    			If Not oMembersList.Exists(obj.Get("mail")) Then
    				oMembersList.Add obj.Get("mail"), obj.Get("mail")
    			End If								
    		Case "group"
    			EnumGroupMembers obj.distinguishedName
    		End Select 		
    	Next
    End Sub
    Que está sacado de http://www.petri.co.il/forums/showthread.php?t=8088

    Saludos, Marc
    Wednesday, March 17, 2010 11:01 AM
  • Muchas gracias Marc.
    El scrip funciona, pero lo que queria era que me exportara los miembros a un archivo de texto, como puedo modificar el script para conseguirlo, es que no estoy demasiao puesto en la programación.

    Gracias un saluo
    Wednesday, March 17, 2010 11:56 AM
  • Cuando lo ejecutes el .vbs, lo rediriges a un archivo de texto del estilo  cscript nombre.vbs > salida.txt
    Saludos, Marc
    • Marked as answer by Franxiscu Wednesday, March 17, 2010 3:49 PM
    Wednesday, March 17, 2010 1:55 PM
  • Prueba este comando a ver si funciona como quieres

    dsquery group -name "Nombre del grupo" | ds get group -members > "Datos.txt"

    Por supuesto usa el correspondiente "Nombre del grupo" y puedes cambiarle el nombre al archivo en el que te dejará los datos.

    Guillermo Delprato - MVP-MCT-MCSE-MCSA MCITP: Enterprise/Server Administrator MCTS: Active Directory/Network/Applications Configuration --- Este mensaje se proporciona "como está" sin garantías de ninguna clase. Usted asume todos los riesgos. --- Buenos Aires, Argentina
    • Marked as answer by Franxiscu Wednesday, March 17, 2010 3:49 PM
    Wednesday, March 17, 2010 2:42 PM
  • Ya consegui el archivo de texto.

    Gracias a los dos.

    Saludos
    Wednesday, March 17, 2010 3:50 PM
  • Llego tarde, pero aquí tienes otro:

    Script VbScript Para Listar Los Usuarios Miembros De Un Grupo
    http://urpiano.wordpress.com/2010/03/18/script-vbscript-para-listar-los-usuarios-miembros-de-un-grupo/

    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    Thursday, March 18, 2010 12:31 PM
  • Buenas tardes Guillermo:

    A mi no me funciona el comando.

    Primero me dice que:

       "ds" no se reconoce como un comando interno o externo, programa o archibo por lotes ejecutable.

    Después cambié ds por dsquery el siguiente error es:

       dsquery Error: El parametro no es correcto.:El tipo de objeto especificado no es correcto

    ¿Qué hago mal?

    Gracias por la ayuda.

    Monday, April 05, 2010 6:18 PM
  • Hola: ¿cómo lo conseguiste finalmente?

    Gracias

    Monday, April 05, 2010 6:23 PM
  • Para saber dónde está el error deberías pegar acá *exactamente* como escribes el comando.

    Digo *pegar* porque es fundamental que esté exactamete igual, porque por ejemplo un espacio de más o de menos generará un error.

     


    Guillermo Delprato - MVP-MCT-MCSE-MCSA MCITP: Enterprise/Server Administrator MCTS: Active Directory/Network/Applications Configuration --- Este mensaje se proporciona "como está" sin garantías de ninguna clase. Usted asume todos los riesgos. --- Buenos Aires, Argentina
    Monday, April 05, 2010 7:45 PM
  • el fallo creo esta en que metiste un espacio de mas... donde dice "ds get" debe ser "dsget".

     

    a mi  me ha medio funcionado, ya que si listo un grupo creado por mi, y añadido despues a los usuarios, solo me lista los que creo que no estan en ningun otro grupo, es decir, los que solo pertenecen a ese grupo.

     

    sin embargo, si busco los "usuarios del dominio", me aparecen todos... creo...

     

    mirare a ver si puedo sacar un listado bueno por grupos, si no, con los datos que crea ese comando no sera dificil oganizarlos, ya que tambien lista la unidad organizativa, y coincide con el grupo de usuarios.

     

    lo mirare mas a fondo, pero promete mucho.

    un saludo y gracias.

    Wednesday, June 22, 2011 1:21 PM
  • Hola!!

    usted sabe como exportar de la consola de grupos de usuarios por ejemplo los usarios de conexion remota, enviarlos a un archivo de texto, porque cuadno selecciono grupo si se puede exportar a txt, pero dentro del grupo no me permite exportar los usuarios que estan dentro de ese grupo.

    Ayuda....

    Tuesday, July 23, 2013 5:20 PM