Cuestión : Escritura de VB a la lista de exportación de todos los grupos y miembros de la distribución

Necesito una escritura rápida del vb que exporte a todos los grupos y allí miembros de la distribución a una carta del sobresalir.  Encontré uno que hace exactamente qué quiero pero tengo que incorporar un nombre de grupo a la vez.  Quisiera que extrajera a cada grupo a una hoja de trabajo separada, nombro el trabajo para el goup, y enumero el members.

I quisiera funcionarlo contra un OU “distribución agrupo” que contenga ya toda mi distribución groups
class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
objGroup notpretty del >Dim " del class= " de " codeSnippet766777 del id= del

Respuesta : Escritura de VB a la lista de exportación de todos los grupos y miembros de la distribución

la escritura funciona a través de ANUNCIO, consigue a todos los grupos de la distribución y para cada uno crea la hoja de trabajo separada adentro sobresale y enumera a sus miembros.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
Opción explícita

adoCommand dévil, adoConnection, strBase, strFilter, strAttributes
objRootDSE dévil, strDNSDomain, strQuery, adoRecordset, strName, groupType, groupName, iRow
objExcel dévil, arrMembers, strMember

'Objetos de la DIFICULTAD de la disposición.
Fijar el adoCommand = CreateObject (“ADODB.Command”)
Fijar el adoConnection = CreateObject (“ADODB.Connection”)
adoConnection.Provider = “ADsDSOObject”
adoConnection.Open “abastecedor activo del directorio”
adoCommand.ActiveConnection = adoConnection

'Dominio activo entero del directorio de la búsqueda.
Fijar el objRootDSE = GetObject (“LDAP: //RootDSE”)
strDNSDomain = objRootDSE.Get (“defaultNamingContext”)
strBase = ""

'Filtro en grupos de la distribución.
strFilter = “(objectCategory=group)”

'Lista delimitada coma de valores de cualidad a recuperar.
strAttributes = “distinguishedName, miembro, groupType, nombre”

'Construir la pregunta del sintaxis de LDAP.
strQuery = strBase y “; ” y strFilter y “; ” y strAttributes y “; sub-estructura”
adoCommand.CommandText = strQuery
adoCommand.Properties (“tamaño de página”) = 100
adoCommand.Properties (“descanso”) = 30
adoCommand.Properties (el “escondrijo resulta”) = falso

'Funcionar con la pregunta.
Fijar el adoRecordset = adoCommand.Execute

Fijar el objExcel = CreateObject (“Excel.Application”)
Con el objExcel
.SheetsInNewWorkbook = 1
. Workbooks.Add
. Visible = verdad

'Enumerar el recordset resultante.
Hacer hasta adoRecordset.EOF
'Recuperar los valores y la exhibición.
strName = adoRecordset.Fields (“distinguishedName”). Valor
groupType  = adoRecordset.Fields (“groupType”). Valor
el groupName  = substituye (adoRecordset.Fields (“nombre”). Valor, “CN=”, "")

'conseguir solamente a grupos de la distribución
si groupType=2 o groupType=4 o groupType=8 entonces
	irow=1
	.ActiveWorkbook.Worksheets.Add
	groupName de .ActiveSheet.Name=
	arrMembers = adoRecordset.Fields (“miembro”). Valor

	Grupo de la distribución de Wscript.Echo “: ” y strName
	Si IsNull (arrMembers) entonces
		Wscript.Echo “--  ”
	
		Para cada strMember en arrMembers
			Wscript.Echo “-- ” y strMember
			Fijar el objRootDSE = GetObject (“LDAP: /“&strMember)
			. Células (el iRow, 1) = substituye (objRootDSE.Name, “CN=”, "")
			irow=irow + 1
		Después
	Terminar si
Terminar si
'Moverse al expediente siguiente en el recordset.
adoRecordset.MoveNext
Lazo
. Columnas (1).entirecolumn.autofit
Extremo con

'Limpiar.
adoRecordset.Close
adoConnection.Close
Fijar el objExcel = nada
Otras soluciones  

 
programming4us programming4us