Vraag : VB manuscript om lijst van alle distributiegroepen en leden uit te voeren

Ik heb een snel vbmanuscript nodig dat alle distributiegroepen zal uitvoeren en daar de leden aan grafiek uitblinken.  Ik vond die precies doet wat ik wil maar ik moet één groepsnaam tegelijkertijd ingaan.  Ik wil het elke groep halen aan een afzonderlijk het werkblad, het werk voor goup noemen, en van members.

I een lijst maken zou willen het tegen OU de „Groepen van de Distributie in werking stellen“ die reeds al mijn distributie groups
bevat
" codeBody "
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:
Dim objGroup, objExcel, iRow, strUser, strGroup, strOU

strGroup = InputBox („ga de Naam van de Groep in u wilt uitvoeren“, „de Uitvoer van het Lid van de Groep“)

Plaats objGroup = GetObject („LDAP: //CN=“ & strGroup &“, de dc=local Groepen van de Distributie ou=BD, dc=blackdiamond, ")

Reeks objExcel = CreateObject („Excel.Application“)
Met objExcel
.SheetsInNewWorkbook = 1
. Workbooks.Add
. Zichtbaar = Waar
. Worksheets.Item (1). Naam = medio (objGroup.Name, instr (1, objGroup.Name, „=“) + 1)
irow=1

Voor Elke strUser in objGroup.Member
Reeks objUser = GetObject („LDAP: /“ & strUser)
. Cellen (iRow, 1) = objUser.CN
irow=irow + 1
Daarna
. Kolommen (1) .entirecolumn.autofit
Eind met

Reeks objExcel = niets
Reeks objGroup = niets
Wscript.Quit

Antwoord : VB manuscript om lijst van alle distributiegroepen en leden uit te voeren

de manuscriptlooppas door ADVERTENTIE, krijgt alle distributiegroepen en voor elke één cre�ër afzonderlijk aantekenvel uitblinken en een lijst maken binnen van hun leden.
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:
Expliciete optie

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

'De voorwerpen van de DRUKTE van de opstelling.
Reeks adoCommand = CreateObject („ADODB.Command“)
Vastgestelde adoConnection = CreateObject („ADODB.Connection“)
adoConnection.Provider = „ADsDSOObject“
adoConnection.Open de „Actieve Leverancier van de Folder“
adoCommand.ActiveConnection = adoConnection

'Domein van de Folder van het onderzoek het volledige Actieve.
Reeks objRootDSE = GetObject („LDAP: //RootDSE“)
strDNSDomain = objRootDSE.Get („defaultNamingContext“)
strBase = ""

'Filter op distributiegroepen.
strFilter = „(objectCategory=group)“

'Komma afgebakende lijst van terug te winnen attributenwaarden.
strAttributes = „distinguishedName, lid, groupType, naam“

'Concept de LDAP syntaxisvraag.
strQuery = strBase & „; “ & strFilter & „; “ & strAttributes & „; onderverdeling“
adoCommand.CommandText = strQuery
adoCommand.Properties (de „Grootte van de Pagina“) = 100
adoCommand.Properties („Onderbreking“) = 30
adoCommand.Properties (de „Resultaten van het Geheime voorgeheugen“) = Vals

'Looppas de vraag.
Reeks adoRecordset = adoCommand.Execute

Reeks objExcel = CreateObject („Excel.Application“)
Met objExcel
.SheetsInNewWorkbook = 1
. Workbooks.Add
. Zichtbaar = Waar

'Som het voortvloeien op recordset.
Doe tot adoRecordset.EOF
'Win waarden en vertoning terug.
strName = adoRecordset.Fields („distinguishedName“). Waarde
groupType  = adoRecordset.Fields („groupType“). Waarde
groupName  = vervang (adoRecordset.Fields („naam“). Waarde, „CN=“, "")

'krijg slechts distributiegroepen
als groupType=2 of groupType=4 of groupType=8 toen
	irow=1
	.ActiveWorkbook.Worksheets.Add
	.ActiveSheet.Name= groupName
	arrMembers = adoRecordset.Fields („lid“). Waarde

	Wscript.Echo de „Groep van de Distributie: “ & strName
	Als IsNull (arrMembers) toen
		Wscript.Echo „--  “
	Anders
		Voor Elke strMember in arrMembers
			Wscript.Echo „-- “ & strMember
			Reeks objRootDSE = GetObject („LDAP: /„&strMember)
			. De cellen (iRow, 1) = vervangen (objRootDSE.Name, „CN=“, "")
			irow=irow + 1
		Daarna
	Eind als
Eind als
'Beweging aan het volgende verslag in recordset.
adoRecordset.MoveNext
Lijn
. Kolommen (1) .entirecolumn.autofit
Eind met

'Maak schoon.
adoRecordset.Close
adoConnection.Close
Plaats objExcel = niets
Andere oplossingen  
 
programming4us programming4us