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:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
|
" codeBody "
" notpretty " ' langs Geschreven
'Dit manuscript wordt geroepen door zijn metgezelmanuscript TBCUpdate.vbs en uitvoert
'het daadwerkelijke verwezenlijking, vergelijking, en bijwerken van de Folder van TBC van de gebruiker.
De 'folder TBC is bevolkt van de openbare omslag van de Folder TBC. Dat
de 'omslag is bevolkt via een geplande taak die loopt
De 'geplande taak wordt genoemd „Omslag van de Folder van de Update TBC de Openbare“ en loopt
'
'De Update \ UpdatePublicFolder \ Adfind.bat van de Folder TBC " bij 12:00 am dagelijks.
'Controle *** om te zien of is de gebruiker een lid van de GPO_NoOLContacts groep ***
Schemerige objADObject, strGroup, objGroupList, objSysInfo, strUser, objUser, wshNetwork
'Bind aan het gebruikersvoorwerp in Actieve Folder met de leverancier LDAP.
Plaats objSysInfo = CreateObject („ADSystemInfo“)
strUser = objSysInfo.UserName
Reeks objUser = GetObject („LDAP: /“ & strUser)
Reeks objADObject = GetObject (objUser.AdsPath)
Reeks wshNetwork = CreateObject („WScript.Network“)
'strGroup = „GPO_NoOLContacts“
'Als IsMember (strGroup) toen
'wscript.quit
'Beëindig als
als weekdag (datum) = vbsunday toen
moddate = -4
beëindig als
als weekdag (datum) = vbmonday toen
moddate = -5
beëindig als
als weekdag (datum) = vbtuesday toen
moddate = -6
beëindig als
als weekdag (datum) = vbwednesday toen
moddate = 0
beëindig als
als weekdag (datum) = vbthursday toen
moddate = -1
beëindig als
als weekdag (datum) = vbfriday toen
moddate = -2
beëindig als
als weekdag (datum) = vbsaturday toen
moddate = -3
beëindig als
Plaats wshShell = WScript.CreateObject („WScript.Shell“)
strComputerName = wshShell.ExpandEnvironmentStrings („%COMPUTERNAME%“)
Reeks objFSO = CreateObject („Scripting.FileSystemObject“)
filedate = DateAdd („D“, moddate, Datum ())
filedate = vervang (filedate, „/“, „-“)
filename = „g:\TBC bijgewerkte Folder -“ & filedate & „.txt“
Vastgestelde objFile = objFSO.OpenTextFile (filename, 8)
objFile.WriteLine (nu () & „het Lopen PublictoPrivate.vbs van machine: “ & strComputerName)
Const olFolderContacts = 10
olPublicFoldersAllPublicFolders van Const = 18
Schemerige olkPublic olkApp, olkSes, olkContacts, olkContact, intIndex, olPV, olkPublicVersion, plkPersonalVersion
Wscript.echo „Controlerend Folder TBC.“
Reeks olkApp = CreateObject („Outlook.Application“)
Reeks olkSes = olkApp.GetNamespace („MAPI“)
'Vind van Standaard vooruitzichten profielnaam en beginVooruitzichten in dat profiel
profiel = ReadReg („HKCU \ de Profielen \ DefaultProfile van het Subsysteem \ van het Overseinen van de Vensters van de Vensters NT \ CurrentVersion \ van de Software \ Microsoft \“)
Wscript.echo „Verbindend met profiel het standaard van Vooruitzichten: “ & profiel
objFile.WriteLine (nu () & „Verbindend met profiel het standaard van Vooruitzichten: “ & profiel)
olkSes.Logon profiel
'Cre�ër de Folder TBC als het niet bestaat
Plaats tbcFolder = olkSes.GetDefaultFolder (olFolderContacts)
Op Fout hervat daarna
Plaats myNewFolder = tbcFolder.Folders.Add („Folder TBC“)
als Err.number = 0 toen myNewFolder.ShowAsOutlookAB = Waar
Op Fout GoTo 0
'Plaats van de omslag van de Folder van TBC van de gebruiker
Reeks olkContacts = olkSes.GetDefaultFolder (olFolderContacts). Omslagen („Folder TBC“)
'Plaats van de Openbare omslag van de Folder TBC
Vastgestelde olkPublic = olkSes.GetDefaultFolder (olPublicFoldersAllPublicFolders). Omslagen („Folder TBC“). Omslagen („Folder TBC“)
'Vind de versie van het persoonlijke exemplaar van de gebruiker van de Folder TBC
'Het zoekt het enige contact met „*“ in de familienaam
Voor intIndex = olkContacts.Items.count aan 1 Stap -1
olkPV = olkContacts.items (intIndex) .lastname
als inStr (olkPV, „*“) > 0 toen
olkPersonalVersion = olkContacts.items (intIndex) .lastname
uitgang voor
beëindig als
Daarna
'Vind de versie van het openbare omslagexemplaar van de Folder TBC
'Het zoekt het enige contact met „*“ in de familienaam
Voor intIndex = 1 aan olkPublic.Items.count Stap +1
olkPV = olkPublic.items (intIndex) .lastname
als inStr (olkPV, „*“) > 0 toen
olkPublicVersion = olkPublic.items (intIndex) .lastname
uitgang voor
beëindig als
Daarna
wscript.echo „Persoonlijke versie: “ & olkPersonalVersion
wscript.echo „Openbare versie: “ & olkPublicVersion
objFile.WriteLine ("")
objFile.WriteLine (nu () & „Persoonlijke versie: “ & olkPersonalVersion)
objFile.WriteLine (nu () & „Openbare versie: “ & olkPublicVersion)
'Als de versies niet gelijk zijn
als olkPublicVersion<> olkPersonalVersion toen
'Schrap alle contacten
wscript.echo „Verwijderend persoonlijk exemplaar van de Folder TBC“
objFile.WriteLine (nu () & „Verwijderend persoonlijk exemplaar van de Folder TBC“)
Voor intIndex = olkContacts.Items.count aan 1 Stap -1
olkContacts.Items.Remove intIndex
Daarna
wscript.echo „Totale punten in Folder TBC: “ & olkContacts.Items.count
objFile.WriteLine (nu () & „Totale punten in Folder TBC: “ & olkContacts.Items.count)
De 'contacten van het exemplaar van de openbare omslag aan de privé omslag
Vastgestelde olkPublic = olkSes.GetDefaultFolder (olPublicFoldersAllPublicFolders). Omslagen („Folder TBC“). Omslagen („Folder TBC“)
Wscript.echo „het Bijwerken“ & de Contacten van de Folder olkPublic.Items.count & „TBC…“
objFile.WriteLine (nu () & „het Bijwerken“ & de Contacten van de Folder olkPublic.Items.count & „TBC…“)
Voor intIndex = olkPublic.Items.count aan 1 Stap -1
Reeks olkContact = olkPublic.Items (intIndex). Exemplaar
olkContact.Unread = „Vals“
olkContact.Move olkContacts
als intIndex Mod. 100 = 0 toen
Wscript.echo „slechts“ & intIndex & " weggegaan. „
objFile.WriteLine (nu () & „slechts“ & intIndex & " weggegaan. „)
beëindig als
als (intIndex < 100) en (intIndex Mod. 25 = 0) toen Wscript.echo „slechts“ & intIndex & " wegging. „
Daarna
beëindig als
Wscript.echo „Uw lokale Folder TBC bevat“ & olkContacts.Items.count & „punten en is bijgewerkt.“
Wscript.echo ""
Wscript.echo „als iemand van de Folder TBC, alstublieft hen contacteren mist en dat“ vragen
Wscript.echo „zij werken binnen hun verslag bij. Meer informatie kan worden gevonden over“
Wscript.echo „IT is pagina.“
Wscript.echo ""
Wscript.echo „Dit venster zal binnenkort sluiten. Gelieve te wachten terwijl het servergegeven…“ wordt bijgewerkt
objFile.WriteLine (nu () & „Uw Folder TBC bevat“ & olkContacts.Items.count & „punten en is bijgewerkt. “)
objFile.WriteLine („“)
objFile.WriteLine ("")
Wscript.sleep (30000)
Reeks olkContacts = niets
Vastgestelde olkPublic = niets
Reeks olkContact = niets
olkSes.Logoff
Reeks olkSes = niets
Reeks olkApp = niets
Vastgestelde objGroupList = niets
Reeks objADObject = niets
'Functies en Materiaal
Functie IsMember (strGroup)
'Functie aan test voor groepslidmaatschap.
'strGroup is de naam NT (sAMAccountName) van de groep aan test.
'objGroupList is een woordenboekvoorwerp, met globaal werkingsgebied.
'Keert Waar terug als de gebruiker of de computer een lid van de groep zijn.
Als IsEmpty (objGroupList) toen
Vraag LoadGroups
Eind als
IsMember = objGroupList.Exists (strGroup)
De Functie van het eind
Sub LoadGroups
'Subroutine om woordenboekvoorwerp met groepslidmaatschap te bevolken.
'objADObject is het gebruiker of computervoorwerp, met globaal werkingsgebied.
'objGroupList is een woordenboekvoorwerp, met globaal werkingsgebied.
Schemerige arrbytGroups, j
Schemerige arrstrGroupSids (), objGroup
Vastgestelde objGroupList = CreateObject („Scripting.Dictionary“)
objGroupList.CompareMode = vbTextCompare
objADObject.GetInfoEx serie („tokenGroups“), 0
arrbytGroups = objADObject.Get („tokenGroups“)
Als TypeName (arrbytGroups) = „Byte ()“ toen
ReDim arrstrGroupSids (0)
arrstrGroupSids (0) = OctetToHexStr (arrbytGroups)
Reeks objGroup = GetObject („LDAP: //“)
objGroupList (objGroup.sAMAccountName) = Waar
Reeks objGroup = niets
Sub van de uitgang
Eind als
Als UBound (arrbytGroups) = -1 toen
Sub van de uitgang
Eind als
ReDim arrstrGroupSids (UBound (arrbytGroups))
Voor j = 0 aan UBound (arrbytGroups)
arrstrGroupSids (j) = OctetToHexStr (arrbytGroups (j))
Reeks objGroup = GetObject („LDAP: //“)
objGroupList (objGroup.sAMAccountName) = Waar
Daarna
Reeks objGroup = niets
Sub van het eind
Functie OctetToHexStr (arrbytOctet)
'Functie om OctetString (byteserie) in het koord van de Hexuitdraai om te zetten.
Schemerig k
OctetToHexStr = ""
Voor k = 1 aan Lenb (arrbytOctet)
OctetToHexStr = OctetToHexStr _
& Juist („0“ & Hexuitdraai (Ascb (Midb (arrbytOctet, k, 1))), 2)
Daarna
De Functie van het eind
Functie ReadReg (RegPath)
'Functie om koordwaarde van registratiesleutel te lezen
Schemerige objRegistry, Sleutel
Vastgestelde objRegistry = CreateObject („Wscript.shell“)
Sleutel = objRegistry.RegRead (RegPath)
ReadReg = Sleutel
De Functie van het eind
|