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:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
|
Expliciete optie
Const ADS_PROPERTY_DELETE = 4
Const ADS_GROUP_TYPE_GLOBAL_GROUP = &h2
Const ADS_GROUP_TYPE_LOCAL_GROUP = &h4
Const ADS_GROUP_TYPE_UNIVERSAL_GROUP = &h8
Const ADS_GROUP_TYPE_SECURITY_ENABLED = &h80000000
schemerige ouder, intRow, gebruikers, gebruiker
Schemerige objDelGroup, objRootLDAP, objGroup, objUser, objOU, objmemberOf
Schemerige objParent, objWorkbook, objExcel, strValue, strMail, strDescription, strInfo, intgroupType, distinguishedName, strSAMAccountName
schemerige groupParentLdap, strName, strUser, strDNSDomain, strLDAP, strList, wortel
Reeks objFSO = CreateObject („Scripting.FileSystemObject“)
Vastgestelde objInputFile = objFSO.CreateTextFile („c:\temp\shdrv.log“, 2)
const ROOT_OU = „ou=“
'lees de gebruikerslijst van dossier uitblinkt
Plaats objExcel = CreateObject („Excel.Application“)
Plaats objWorkbook = objExcel.Workbooks.Open („C:\temp\users _list.xls“)
intRow = 1
gebruiker = objExcel.Cells (intRow, 1). Waarde
Doe tot gebruiker = ""
als gebruikers = "" toen
gebruikers = gebruiker
anders
gebruikers = gebruikers & „,“ & gebruiker
beëindig als
intRow = intRow + 1
gebruiker = objExcel.Cells (intRow, 1). Waarde
Lijn
Reeks objRootLDAP = GetObject („LDAP: //RootDSE“)
strDNSDomain = objRootLDAP.Get („DefaultNamingContext“)
wortel = „LDAP: /“ & ROOT_OU & „,“ & strDNSDomain
objInputFile.WriteLine wortel
RecurseOUs GetObject (wortel)
Sub RecurseOUs (objOU)
Schemerige objOUObject, het strConnString
Voor Elke objOUObject in objOU
Als Verlaten UCase ((objOUObject.Name, 3)) = „OU=“ toen
het strConnString = objOUObject.DistinguishedName
het strConnString objInputFile.WriteLine
Vastgestelde ObjUser = GetObject („LDAP: /“ & strConnString)
Het strConnString van CheckUser
RecurseOUs ObjUser
Eind als
Daarna
Sub van het eind
Sub CheckUser (het strConnString)
Op Fout hervat daarna
voor elke gebruiker in Spleet (gebruikers, „,“)
objInputFile.WriteLine
objInputFile.WriteLine „Gebruiker: “ & gebruiker
strUser = " cn= " & gebruiker & „,“
strLDAP = " LDAP: /„& strUser & strConnString
objInputFile.WriteLine strLDAP
Reeks objUser = GetObject (strLDAP)
Als Err.Number = 0 toen
Vastgestelde objParent = GetObject (GetObject (objUser.Parent). Ouder)
objParent.GetInfo
de ouder = vervangt (objParent.Name, „CN=“, "")
objInputFile.WriteLine de „Plaats van de Ouder: “ & ouder
objmemberOf = objUser.GetEx („memberOf“)
Voor Elke objGroup in objmemberOf
objInputFile.WriteLine
objInputFile.WriteLine „Groep LDAP: “ & objGroup
Reeks objGroup = GetObject („LDAP: /“ & objGroup)
objGroup.GetInfo
strName = objGroup.Get („naam“)
strSAMAccountName = objGroup.Get („sAMAccountName“)
intgroupType = objGroup.Get („groupType“)
distinguishedName = objGroup.Get („distinguishedName“)
objInputFile.WriteLine „distinguishedName: “ & distinguishedName
objInputFile.WriteLine „naam: “ & strName
objInputFile.WriteLine „sAMAccountName: “ & strSAMAccountName
WScript.StdOut.Write het „werkingsgebied van de Groep: “
Als intGroupType EN ADS_GROUP_TYPE_LOCAL_GROUP toen
objInputFile.WriteLine „lokaal Domein“
ElseIf intGroupType EN ADS_GROUP_TYPE_GLOBAL_GROUP toen
objInputFile.WriteLine „Globaal“
ElseIf intGroupType EN ADS_GROUP_TYPE_UNIVERSAL_GROUP toen
objInputFile.WriteLine „Algemeen begrip“
Anders
objInputFile.WriteLine „Onbekend“
Eind als
WScript.StdOut.Write het „type van Groep: “
Als intGroupType EN ADS_GROUP_TYPE_SECURITY_ENABLED toen
objInputFile.WriteLine de „groep van de Veiligheid“
Anders
objInputFile.WriteLine de „groep van de Distributie“
Eind als
objInputFile.WriteLine
objInputFile.WriteLine „***** die gebruikersgroep [BEGIN] bevestigen ********“
objInputFile.WriteLine „het Zoeken“ & ouder & „in“ & distinguishedName
als InStr (UCase (distinguishedName), UCase (ouder)) > 0 toen
objInputFile.WriteLine de „Groep“ & strName & „is onder de zelfde plaats zoals gebruiker“ & gebruiker
groupParentLdap = „LDAP: /“ & ROOT_OU & „,“ & strDNSDomain
objInputFile.WriteLine „tref voorbereidingen om groep“ & strName & „ van“ te verwijderen & groupParentLdap
Plaats objDelGroup = GetObject (groupParentLdap)
objDelGroup.Delete „groep“, „cn=“ & strName
objInputFile.WriteLine de „groep werd“ & strName & „verwijderd“
beëindig als
objInputFile.WriteLine „***** die gebruikersgroep [EIND] bevestigen ********“
objInputFile.WriteLine
Daarna
Eind ALS
Daarna
Sub van het eind
objInputFile.Close
WScript.Quit
|