class= " lineNumbers " do
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:
|
class= do
id= " codeSnippet767227 " class= " do ' escrito perto
'Este certificado é chamado por seu certificado TBCUpdate.vbs do companheiro e executa
'criação, comparação, e atualização reais do diretório de TBC do usuário.
'O diretório de TBC é povoado do dobrador público do diretório de TBC. Isso
'o dobrador é povoado através de uma tarefa programada que funcione sobre
'A tarefa programada é chamada da “dobrador público do diretório atualização TBC” e funciona
'
'Atualização do diretório de TBC \ UpdatePublicFolder \ Adfind.bat " no 12:00 am diário.
'Verificação do *** para considerar se o usuário é um membro do *** do grupo de GPO_NoOLContacts
objADObject não ofuscante, strGroup, objGroupList, objSysInfo, strUser, objUser, wshNetwork
'Ligar ao objeto de usuário no diretório ativo com o fornecedor de LDAP.
Ajustar o objSysInfo = o CreateObject (“ADSystemInfo”)
strUser = objSysInfo.UserName
Ajustar o objUser = o GetObject (“LDAP: /” & strUser)
Ajustar o objADObject = o GetObject (objUser.AdsPath)
Ajustar o wshNetwork = o CreateObject (“WScript.Network”)
'strGroup = “GPO_NoOLContacts”
'Se IsMember (strGroup) então
'wscript.quit
'Terminar se
se dia útil (data) = vbsunday então
moddate = -4
terminar se
se dia útil (data) = vbmonday então
moddate = -5
terminar se
se dia útil (data) = vbtuesday então
moddate = -6
terminar se
se dia útil (data) = vbwednesday então
moddate = 0
terminar se
se dia útil (data) = vbthursday então
moddate = -1
terminar se
se dia útil (data) = vbfriday então
moddate = -2
terminar se
se dia útil (data) = vbsaturday então
moddate = -3
terminar se
Ajustar o wshShell = o WScript.CreateObject (“WScript.Shell”)
strComputerName = wshShell.ExpandEnvironmentStrings (“%COMPUTERNAME%")
Ajustar o objFSO = o CreateObject (“Scripting.FileSystemObject”)
filedate = DateAdd (“d”, moddate, data ())
o filedate = substitui (filedate, “/”, “-”)
nome de arquivo = de “diretório g:\TBC - atualizado” & filedate & “.txt”
objFile ajustado = objFSO.OpenTextFile (nome de arquivo, 8)
objFile.WriteLine (agora () & “PublictoPrivate.vbs de funcionamento da máquina: ” & strComputerName)
olFolderContacts de Const = 10
olPublicFoldersAllPublicFolders de Const = 18
olkApp não ofuscante, olkSes, olkContacts, olkPublic, olkContact, intIndex, olPV, olkPublicVersion, plkPersonalVersion
Wscript.echo “que verific o diretório de TBC.”
Ajustar o olkApp = o CreateObject (“Outlook.Application”)
Ajustar os olkSes = o olkApp.GetNamespace (“MAPI”)
'Encontrar o nome de perfil de defeito da probabilidade e começar a probabilidade nesse perfil
perfil = ReadReg (“HKCU \ software \ Microsoft \ Windows NT \ CurrentVersion \ subsistema mensagem de Windows \ perfis \ DefaultProfile”)
Wscript.echo “que coneta ao perfil da probabilidade do defeito: ” & perfil
objFile.WriteLine (agora () & “conetando ao perfil da probabilidade do defeito: ” & perfil)
perfil de olkSes.Logon
'Criar o diretório de TBC se não existe
Ajustar o tbcFolder = o olkSes.GetDefaultFolder (os olFolderContacts)
No erro recomeçar em seguida
Ajustar o myNewFolder = o tbcFolder.Folders.Add (de “o diretório TBC”)
se Err.number = 0 então myNewFolder.ShowAsOutlookAB = retificam
No erro 0 empreendedores
'Posição do dobrador do diretório de TBC do usuário
Ajustar olkContacts = olkSes.GetDefaultFolder (olFolderContacts). Dobradores (de “diretório TBC”)
'Posição do dobrador do diretório do público TBC
olkPublic ajustado = olkSes.GetDefaultFolder (olPublicFoldersAllPublicFolders). Dobradores (de “diretório TBC”). Dobradores (de “diretório TBC”)
'Encontrar a versão da cópia pessoal do usuário do diretório de TBC
'Procura o único contato com “*” no apelido
Para o intIndex = o olkContacts.Items.count a 1 etapa -1
olkPV = olkContacts.items (intIndex) .lastname
se inStr (olkPV, “*") > 0 então
olkPersonalVersion = olkContacts.items (intIndex) .lastname
retirar para
terminar se
Em seguida
'Encontrar a versão da cópia do dobrador público do diretório de TBC
'Procura o único contato com “*” no apelido
Para o intIndex = 1 a etapa +1 de olkPublic.Items.count
olkPV = olkPublic.items (intIndex) .lastname
se inStr (olkPV, “*") > 0 então
olkPublicVersion = olkPublic.items (intIndex) .lastname
retirar para
terminar se
Em seguida
versão pessoal de wscript.echo “: ” & olkPersonalVersion
versão pública de wscript.echo “: ” & olkPublicVersion
objFile.WriteLine ("")
objFile.WriteLine (agora () & “versão pessoal: ” & olkPersonalVersion)
objFile.WriteLine (agora () & “versão pública: ” & olkPublicVersion)
'Se as versões não são iguais
se olkPersonalVersion do <> do olkPublicVersion então
'Suprimir de todos os contatos
wscript.echo “que removem a cópia pessoal do diretório de TBC”
objFile.WriteLine (agora () & “removendo a cópia pessoal do diretório de TBC”)
Para o intIndex = o olkContacts.Items.count a 1 etapa -1
intIndex de olkContacts.Items.Remove
Em seguida
artigos totais de wscript.echo “no diretório de TBC: ” & olkContacts.Items.count
objFile.WriteLine (agora () & “artigos totais no diretório de TBC: ” & olkContacts.Items.count)
'Copiar contatos do dobrador público ao dobrador confidencial
Ajustar olkPublic = olkSes.GetDefaultFolder (olPublicFoldersAllPublicFolders). Dobradores (de “diretório TBC”). Dobradores (de “diretório TBC”)
Wscript.echo “que atualizam” & o diretório de olkPublic.Items.count & de “TBC contatam…”
objFile.WriteLine (agora () & a “atualização” & o diretório de olkPublic.Items.count & de “TBC contatam… ")
Para o intIndex = o olkPublic.Items.count a 1 etapa -1
Ajustar o olkContact = o olkPublic.Items (intIndex). Copiar
olkContact.Unread = “falso”
olkContacts de olkContact.Move
se modificação 100 = 0 do intIndex então
Wscript.echo “somente” & o intIndex & " sairam. “
objFile.WriteLine (agora () & “somente” & intIndex & " left.")
terminar se
se (intIndex < 100) e (modificação 25 = 0 do intIndex) então Wscript.echo “somente” & o intIndex & " sairam. “
Em seguida
terminar se
Seu TBC diretório local de Wscript.echo “contem” & olkContacts.Items.count & “artigos e é moderno.”
"" De Wscript.echo
Wscript.echo “se alguém falta do diretório de TBC, contata-os por favor e pede-o aquele”
Wscript.echo “atualizam seu registro dentro. Mais informação pode ser encontrada em”
Wscript.echo “é página.”
"" De Wscript.echo
Wscript.echo “que esta janela se fechará logo. Esperar por favor quando os dados do usuário forem atualizados…”
objFile.WriteLine (agora () & “seu diretório de TBC contem” & olkContacts.Items.count & “artigos e é .") moderno
objFile.WriteLine (“---------------------------------------------------------------------------------------------")
objFile.WriteLine ("")
Wscript.sleep (30000)
Ajustar olkContacts = nada
Ajustar olkPublic = nada
Ajustar o olkContact = nada
olkSes.Logoff
Ajustar olkSes = nada
Ajustar o olkApp = nada
Ajustar o objGroupList = nada
Ajustar o objADObject = nada
'Funções e material
Função IsMember (strGroup)
'Função a testar para a sociedade de grupo.
'o strGroup é o nome do NT (sAMAccountName) do grupo a testar.
'o objGroupList é um objeto do dicionário, com espaço global.
'Retorna verdadeiro se o usuário ou o computador são um membro do grupo.
Se IsEmpty (objGroupList) então
Chamada LoadGroups
Terminar se
IsMember = objGroupList.Exists (strGroup)
Função do fim
LoadGroups secundário
'Sub-rotina para povoar o objeto do dicionário com sociedades de grupo.
'o objADObject é o objeto do usuário ou do computador, com espaço global.
'o objGroupList é um objeto do dicionário, com espaço global.
arrbytGroups não ofuscantes, j
arrstrGroupSids não ofuscantes (), objGroup
Ajustar o objGroupList = o CreateObject (“Scripting.Dictionary”)
objGroupList.CompareMode = vbTextCompare
disposição de objADObject.GetInfoEx (“tokenGroups”), 0
arrbytGroups = objADObject.Get (“tokenGroups”)
Se TypeName (arrbytGroups) = “byte ()” então
arrstrGroupSids de ReDim (0)
arrstrGroupSids (0) = OctetToHexStr (arrbytGroups)
Ajustar o objGroup = o GetObject (“LDAP: //")
o objGroupList (objGroup.sAMAccountName) = retifica
Ajustar o objGroup = nada
Retirar o submarino
Terminar se
Se UBound (arrbytGroups) = -1 então
Retirar o submarino
Terminar se
arrstrGroupSids de ReDim (UBound (arrbytGroups))
Para j = 0 a UBound (arrbytGroups)
arrstrGroupSids (j) = OctetToHexStr (arrbytGroups (j))
Ajustar o objGroup = o GetObject (“LDAP: //")
o objGroupList (objGroup.sAMAccountName) = retifica
Em seguida
Ajustar o objGroup = nada
Terminar o submarino
Função OctetToHexStr (arrbytOctet)
'Funcionar para converter OctetString (disposição do byte) à corda Hex.
Escurecer k
OctetToHexStr = ""
Para k = 1 a Lenb (arrbytOctet)
_ de OctetToHexStr = de OctetToHexStr
& direito (“0” & Hex (Ascb (Midb (arrbytOctet, k, 1))), 2)
Em seguida
Função do fim
Função ReadReg (RegPath)
'Funcionar para ler o valor de corda da chave do registro
Escurecer objRegistry, chave
Ajustar objRegistry = CreateObject (“Wscript.shell”)
Chave = objRegistry.RegRead (RegPath)
ReadReg = chave
Função do fim
|