(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:
|
Opcja Wyraźny
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
ćmić rodzic, intRow, użytkownik, użytkownik
Ćmić objDelGroup, objRootLDAP, objGroup, objUser, objOU, objmemberOf
Ćmić objParent, objWorkbook, objExcel, strValue, strMail, strDescription, strInfo, intgroupType, distinguishedName, strSAMAccountName
ćmić groupParentLdap, strName, strUser, strDNSDomain, strLDAP, strList, korzeń
Ustawiać objFSO = CreateObject ("Scripting.FileSystemObject")
Ustawiać objInputFile = objFSO.CreateTextFile ("c:\temp\shdrv.log", 2)
const ROOT_OU = "ou="
'read użytkownik lista od przodować kartoteka
Ustalony objExcel = CreateObject ("Excel.Application")
Ustalony objWorkbook = objExcel.Workbooks.Open (" C:\temp\users _list.xls")
intRow = (1)
użytkownik = objExcel.Cells (intRow, 1).Value
Do użytkownik = ""
jeżeli użytkownik = "" wtedy
użytkownik = użytkownik
inny
użytkownik = użytkownik & "," & użytkownik
kończyć jeżeli
intRow = intRow + (1)
użytkownik = objExcel.Cells (intRow, 1).Value
Pętla
Ustalony objRootLDAP = GetObject ("LDAP: //RootDSE")
strDNSDomain = objRootLDAP.Get ("DefaultNamingContext")
korzeń = "LDAP: /" & ROOT_OU & "," & strDNSDomain
objInputFile.WriteLine korzeń
RecurseOUs GetObject (korzeń)
Okręt podwodny RecurseOUs (objOU)
Ciemnawy objOUObject, strConnString
Dla ObjOU objOUObject W objOU
Jeżeli UCase (Opuszczać (objOUObject.Name, 3)) = "OU=" Wtedy
strConnString = objOUObject.DistinguishedName
objInputFile.WriteLine strConnString
Ustalony ObjUser = GetObject ("LDAP: /" & strConnString)
CheckUser strConnString
RecurseOUs ObjUser
Kończyć Jeżeli
Następnie
Końcówka Okręt podwodny
Okręt podwodny CheckUser (strConnString)
Na Błąd Życiorys Następnie
dla użytkownik użytkownik w Rozłam (użytkownik, ", ")
objInputFile.WriteLine
objInputFile.WriteLine "Użytkownik: " & użytkownik
strUser = " cn= " & użytkownik & ","
strLDAP = " LDAP: /"& strUser & strConnString
objInputFile.WriteLine strLDAP
Ustalony objUser = GetObject (strLDAP)
Jeżeli Err.Number = (0) Wtedy
Ustalony objParent = GetObject (GetObject (objUser.Parent). Rodzic)
objParent.GetInfo
rodzic = Zamieniać (objParent.Name, "CN=", "")
objInputFile.WriteLine "Rodzic Miejsce: " & rodzic
objmemberOf = objUser.GetEx ("memberOf")
Dla ObjmemberOf objGroup w objmemberOf
objInputFile.WriteLine
objInputFile.WriteLine "Grupowy LDAP: " & objGroup
Ustalony objGroup = GetObject ("LDAP: /" & objGroup)
objGroup.GetInfo
strName = objGroup.Get ("imię")
strSAMAccountName = objGroup.Get ("sAMAccountName")
intgroupType = objGroup.Get ("groupType")
distinguishedName = objGroup.Get ("distinguishedName")
objInputFile.WriteLine "distinguishedName: " & distinguishedName
objInputFile.WriteLine "imię: " & strName
objInputFile.WriteLine "sAMAccountName: " & strSAMAccountName
WScript.StdOut.Write "Grupowy zakres: "
Jeżeli intGroupType I ADS_GROUP_TYPE_LOCAL_GROUP Wtedy
objInputFile.WriteLine "Domena miejscowy"
ElseIf intGroupType I ADS_GROUP_TYPE_GLOBAL_GROUP Wtedy
objInputFile.WriteLine "Globalny"
ElseIf intGroupType I ADS_GROUP_TYPE_UNIVERSAL_GROUP Wtedy
objInputFile.WriteLine "Cecha ogólna"
Inny
objInputFile.WriteLine "Nieznane"
Kończyć Jeżeli
WScript.StdOut.Write "Grupowy typ: "
Jeżeli intGroupType I ADS_GROUP_TYPE_SECURITY_ENABLED Wtedy
objInputFile.WriteLine "Ochrona grupa"
Inny
objInputFile.WriteLine "Dystrybucja grupa"
Kończyć Jeżeli
objInputFile.WriteLine
objInputFile.WriteLine "***** uprawomocnianie użytkownik grupowy [POCZĄTEK] ********"
objInputFile.WriteLine "Dla" & rodzic & "w" & distinguishedName
jeżeli InStr (UCase (distinguishedName), UCase (rodzic)) > (0) wtedy
objInputFile.WriteLine "Grupować" & strName & "być pod the ten sam miejsce użytkownik" & użytkownik
groupParentLdap = "LDAP: /" & ROOT_OU & "," & strDNSDomain
objInputFile.WriteLine "Przygotowywać grupowy" & strName & "od" & groupParentLdap
Ustalony objDelGroup = GetObject (groupParentLdap)
objDelGroup.Delete "grupować", "cn=" & strName
objInputFile.WriteLine "grupować" & strName & "usuwać"
kończyć jeżeli
objInputFile.WriteLine "***** uprawomocnianie użytkownik grupowy [KOŃCÓWKA] ********"
objInputFile.WriteLine
Następnie
Kończyć JEŻELI
Następnie
Końcówka Okręt podwodny
objInputFile.Close
WScript.Quit
|