Pergunta : Certificado de VB à lista de exportação de todos os grupos e membros da distribuição

Eu preciso um certificado rápido do vb que exporte todos os grupos e lá membros da distribuição para uma carta primar.  Eu encontrei um que faz exatamente o que eu quero mas eu tenho que dar entrada com um nome do grupo de cada vez.  Eu quero-a extrair cada grupo a uma folha de trabalho separada, nomeio-o o trabalho para o goup, e alisto-o o members.

I gostaria de funcioná-lo de encontro a uma OU “distribuição agrupo” que já contenha toda minha distribuição groups
class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
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 do >Dim " do class= " de " codeSnippet766777 do id= do

Resposta : Certificado de VB à lista de exportação de todos os grupos e membros da distribuição

o certificado funciona através do ANÚNCIO, começ todos os grupos da distribuição e para cada um cria a folha separada dentro prima e alista seus membros.
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:
Opção explícita

adoCommand não ofuscante, adoConnection, strBase, strFilter, strAttributes
objRootDSE não ofuscante, strDNSDomain, strQuery, adoRecordset, strName, groupType, groupName, iRow
objExcel não ofuscante, arrMembers, strMember

'Objetos da DEMORA da instalação.
Ajustar o adoCommand = o CreateObject (“ADODB.Command”)
Ajustar o adoConnection = o CreateObject (“ADODB.Connection”)
adoConnection.Provider = “ADsDSOObject”
adoConnection.Open “fornecedor ativo do diretório”
adoCommand.ActiveConnection = adoConnection

'Domínio ativo inteiro do diretório da busca.
Ajustar o objRootDSE = o GetObject (“LDAP: //RootDSE”)
strDNSDomain = objRootDSE.Get (“defaultNamingContext”)
strBase = ""

'Filtro em grupos da distribuição.
strFilter = “(objectCategory=group)”

'Lista limitada vírgula de valores de atributo a recuperar.
strAttributes = “distinguishedName, membro, groupType, nome”

'Construir a pergunta da sintaxe de LDAP.
strQuery = strBase & “; ” & strFilter & “; ” & strAttributes & “; subtree”
adoCommand.CommandText = strQuery
adoCommand.Properties (de “tamanho página”) = 100
adoCommand.Properties (“intervalo de parada”) = 30
adoCommand.Properties (o “esconderijo resulta”) = falso

'Funcionar a pergunta.
Ajustar o adoRecordset = o adoCommand.Execute

Ajustar o objExcel = o CreateObject (“Excel.Application”)
Com objExcel
.SheetsInNewWorkbook = 1
. Workbooks.Add
. Visível = retificar

'Enumerar o recordset resultante.
Fazer até adoRecordset.EOF
'Recuperar valores e exposição.
strName = adoRecordset.Fields (“distinguishedName”). Valor
groupType  = adoRecordset.Fields (“groupType”). Valor
o groupName  = substitui (adoRecordset.Fields (“nome”). Valor, “CN=”, "")

'começ somente grupos da distribuição
se groupType=2 ou groupType=4 ou groupType=8 então
	irow=1
	.ActiveWorkbook.Worksheets.Add
	groupName de .ActiveSheet.Name=
	arrMembers = adoRecordset.Fields (“membro”). Valor

	Grupo distribuição de Wscript.Echo da “: ” & strName
	Se IsNull (arrMembers) então
		Wscript.Echo “--  ”
	Mais
		Para cada strMember nos arrMembers
			Wscript.Echo “-- ” & strMember
			Ajustar o objRootDSE = o GetObject (“LDAP: /“&strMember)
			. As pilhas (iRow, 1) = substituem (objRootDSE.Name, “CN=”, o "")
			irow=irow + 1
		Em seguida
	Terminar se
Terminar se
'Mover-se para o registro seguinte no recordset.
adoRecordset.MoveNext
Laço
. Colunas (1) .entirecolumn.autofit
Extremidade com

'Limpar.
adoRecordset.Close
adoConnection.Close
Ajustar o objExcel = nada
Outras soluções  

 
programming4us programming4us