Vraag : VBScript om leden van Groepen en de uitvoer naar Excel uit te voeren

hihi,

I am leden van Groepen in Excel proberen uit te voeren, elke groep is een nieuw antwoord worksheet.

The in dit O.K. vraagwerk:

http://www.experts-exchang e.com/Prog ramming/Languages/Visual_Basic/VB_Script/Q_26298266.html? sfQueryTermInfo=1+10+30+distribut+excel+export+get+group+member+script

Except zou ik het elk aantekenvel willen enkel bevolken, me niet om O.K. voor elke user.

The maximumkarakterlengte voor aantekenvelnamen 31 karakters te klikken is vragen, zijn enkele groepen langer dan 31 karakters en de manuscripteinden daar, is er om het even welke manier aan enkel GLB de aantekenvelnaam bij 31 karakters?

thanks

Antwoord : VBScript om leden van Groepen en de uitvoer naar Excel uit te voeren

Hallo, heb ik uit de lijnen WScript.Echo, becommentari�ërd en deze lijn veranderd
      .ActiveSheet.Name= groupName

aan dit
      .ActiveSheet.Name= weggegaan (groupName, 31)

Achting,

Rob.
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= weggegaan (groupName, 31)
	arrMembers = adoRecordset.Fields („lid“). Waarde

	Groep van de Distributie 'Wscript.Echo de „: “ & 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