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:
|
Opzione esplicita
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
genitore fioco, intRow, utenti, utente
objDelGroup fioco, objRootLDAP, objGroup, objUser, objOU, objmemberOf
objParent fioco, objWorkbook, objExcel, strValue, strMail, strDescription, strInfo, intgroupType, distinguishedName, strSAMAccountName
groupParentLdap fioco, strName, strUser, strDNSDomain, strLDAP, strList, radice
Regolare il objFSO = CreateObject (“Scripting.FileSystemObject„)
Regolar objInputFile = objFSO.CreateTextFile (“c:\temp\shdrv.log„, 2)
const ROOT_OU = “ou=„
'leggere la lista di utenti da eccellono la lima
Regolare il objExcel = CreateObject (“Excel.Application„)
Regolare il objWorkbook = objExcel.Workbooks.Open (" C:\temp\users _list.xls„)
intRow = 1
utente = objExcel.Cells (intRow, 1).Value
Fare fino all'utente = al ""
se utenti = "" allora
utenti = utente
altrimenti
utenti = utenti & “,„ & utente
concluder se
intRow = intRow + 1
utente = objExcel.Cells (intRow, 1).Value
Ciclo
Regolare il objRootLDAP = GetObject (“LDAP: //RootDSE„)
strDNSDomain = objRootLDAP.Get (“DefaultNamingContext„)
radice = “LDAP: /„ & ROOT_OU & “,„ & strDNSDomain
radice di objInputFile.WriteLine
RecurseOUs GetObject (radice)
RecurseOUs secondario (objOU)
objOUObject fioco, strConnString
Per ogni objOUObject nel objOU
Se UCase (lasciato (objOUObject.Name, 3)) = “OU=„ allora
strConnString = objOUObject.DistinguishedName
objInputFile.WriteLine che strConnString
Regolare ObjUser = GetObject (“LDAP: /„ & strConnString)
CheckUser che strConnString
RecurseOUs ObjUser
Concluder se
Dopo
Sommergibile dell'estremità
CheckUser secondario (strConnString)
Sul riassunto di errore dopo
per ogni utente nella spaccatura (utenti, “, ")
objInputFile.WriteLine
utente di objInputFile.WriteLine “: „ & utente
strUser = " cn= " & utente & “,„
strLDAP = " LDAP: /“& strUser & strConnString
strLDAP di objInputFile.WriteLine
Regolare il objUser = GetObject (strLDAP)
Se Err.Number = 0 allora
objParent stabilito = GetObject (GetObject (objUser.Parent). Genitore)
objParent.GetInfo
il genitore = sostituisce (objParent.Name, “CN=„, "")
luogo del genitore di objInputFile.WriteLine “: „ & genitore
objmemberOf = objUser.GetEx (“memberOf„)
Per ogni objGroup nel objmemberOf
objInputFile.WriteLine
gruppo LDAP di objInputFile.WriteLine “: „ & objGroup
Regolare il objGroup = GetObject (“LDAP: /„ & objGroup)
objGroup.GetInfo
strName = objGroup.Get (“nome„)
strSAMAccountName = objGroup.Get (“sAMAccountName„)
intgroupType = objGroup.Get (“groupType„)
distinguishedName = objGroup.Get (“distinguishedName„)
distinguishedName di objInputFile.WriteLine “: „ & distinguishedName
nome di objInputFile.WriteLine “: „ & strName
sAMAccountName di objInputFile.WriteLine “: „ & strSAMAccountName
Portata del gruppo di WScript.StdOut.Write “: „
Se intGroupType E ADS_GROUP_TYPE_LOCAL_GROUP allora
objInputFile.WriteLine “local di dominio„
intGroupType di ElseIf E ADS_GROUP_TYPE_GLOBAL_GROUP allora
objInputFile.WriteLine “globale„
intGroupType di ElseIf E ADS_GROUP_TYPE_UNIVERSAL_GROUP allora
objInputFile.WriteLine “universale„
Altrimenti
objInputFile.WriteLine “sconosciuto„
Concluder se
Tipo del gruppo di WScript.StdOut.Write “: „
Se intGroupType E ADS_GROUP_TYPE_SECURITY_ENABLED allora
objInputFile.WriteLine “gruppo di sicurezza„
Altrimenti
objInputFile.WriteLine “gruppo di distribuzione„
Concluder se
objInputFile.WriteLine
objInputFile.WriteLine “***** che convalida il ******** del gruppo degli utenti [INIZIO]„
objInputFile.WriteLine “cercare„ & genitore & “in„ & distinguishedName
se InStr (UCase (distinguishedName), UCase (genitore)) > 0 allora
objInputFile.WriteLine “gruppo„ & strName & “è sotto lo stesso luogo dell'utente„ & dell'utente
groupParentLdap = “LDAP: /„ & ROOT_OU & “,„ & strDNSDomain
objInputFile.WriteLine “preparano rimuovere il gruppo„ & strName & “da„ & groupParentLdap
Regolare il objDelGroup = GetObject (groupParentLdap)
objDelGroup.Delete “gruppo„, “cn=„ & strName
objInputFile.WriteLine “gruppo„ & strName & “è stato rimosso„
concluder se
objInputFile.WriteLine “***** che convalida il ******** del gruppo degli utenti [ESTREMITÀ]„
objInputFile.WriteLine
Dopo
Concluder SE
Dopo
Sommergibile dell'estremità
objInputFile.Close
WScript.Quit
|