Fråga : VB skrivar för att exportera listar allra fördelningsgrupper och medlemmar

Jag behöver en snabb vb skrivar att den ska exporten alla fördelningsgrupper och medlemmar till en överträffa kartlägger där.  I grundar en som gör exakt vad jag önskar men jag måste att skriva in en känd grupp i sänder.  Jag önskar den till extraktet som varje grupp till ett separat arbete täcker, namnger arbetet för goupen och listar skulle något liknande för members.

I för att köra den mot en OU ”fördelning grupperar” som innehåller redan all min fördelning groups
> för
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:
" codeBody " " objGroup för >Dim för class= " för
" klar "

Svar : VB skrivar för att exportera listar allra fördelningsgrupper och medlemmar

skriva kör till och med ANNONS, får alla fördelningsgrupper och för varje skapar den separata arbetssedeln överträffar och listar in deras medlemmar.
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:
Explicit alternativ

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

'Ställa in ADO anmärker.
Fastställd adoCommand = CreateObject (”ADODB.Command”)
Fastställd adoConnection = CreateObject (”ADODB.Connection”)
adoConnection.Provider = ”ADsDSOObject”,
adoConnection.Open ”aktivarkivfamiljeförsörjare”,
adoCommand.ActiveConnection = adoConnection

'För aktivarkiv för sökande helt område.
Fastställd objRootDSE = GetObject (”LDAP: //RootDSE”)
strDNSDomain = objRootDSE.Get (”defaultNamingContext”)
strBase = "",

'Filtrera på fördelningsgrupper.
strFilter = ”(objectCategory=group)”,

'Det avgränsade kommat listar av attribut värderar för att hämta.
strAttributes = ”distinguishedName, medlem, groupType som är känd”,

'Tankeskapelse LDAP-syntaxqueryen.
strQuery = strBase & ”; ” & strFilter & ”; ” & strAttributes & ”; subtree”,
adoCommand.CommandText = strQuery
adoCommand.Properties (”sida storleksanpassar”), = 100
adoCommand.Properties (”frånslagningstid”) = 30
adoCommand.Properties (”cachen resulterar”), = falskt

'Kör queryen.
Fastställd adoRecordset = adoCommand.Execute

Fastställd objExcel = CreateObject (”Excel.Application”)
Med objExcel
.SheetsInNewWorkbook = 1
. Workbooks.Add
. Synligt = True

'Enumerate den resulterande recordseten.
Gör till adoRecordset.EOF
'Hämta värderar och skärm.
strName = adoRecordset.Fields (”distinguishedName”). Värdera
groupType  = adoRecordset.Fields (”groupType”). Värdera
groupName  = byter ut (adoRecordset.Fields (”namnge”). Värdera ”CN=”, ""),

'få endast fördelningsgrupper
om groupType=2 eller groupType=4 eller groupType=8 därefter
	irow=1
	.ActiveWorkbook.Worksheets.Add
	.ActiveSheet.Name=-groupName
	arrMembers = adoRecordset.Fields (”medlem”). Värdera

	Wscript.Echo-”fördelningsgrupp: ” & strName
	Om IsNull (arrMembers) därefter
		Wscript.Echo ”,--  ”,
	Annars
		För varje strMember i arrMembers
			Wscript.Echo ”,-- ” & strMember
			Fastställd objRootDSE = GetObject (”LDAP: /”&strMember)
			. Celler (iRow, 1) = byter ut (objRootDSE.Name, ”CN=”, "")
			irow=irow + 1
		Därefter
	Avsluta om
Avsluta om
'Flyttning till det nästa rekordet i recordseten.
adoRecordset.MoveNext
Kretsa
. Kolonner (1) .entirecolumn.autofit
Avsluta med

'Rent övre.
adoRecordset.Close
adoConnection.Close
Fastställd objExcel = ingenting
Andra lösningar  
 
programming4us programming4us