Вопрос : Внешний вид VBS копируя контактирует детали от общественного скоросшивателя

Я использую следующий сценарий для того чтобы скопировать детали контакта от общественного скоросшивателя к скоросшивателю потребителя приватному. Он работает как раз отлично. Я имею запрос. Начинающ он-лайн 133, сценарий копирует контакт, метки оно как непрочитанный, и после этого двигает контакт к скоросшивателю потребителя приватному.

I хотел было бы это поведение после того как оно изменено. Проблема, котор я имею что я должен позволить всему из моих потребителей способность создать контакты в общественном скоросшивателе для этого для работы. Дополнительно, если множественные потребители бегут сценарий в тоже время, то некоторые из их выберут вверх двойной контакт здесь или там. Мне нужно сделать для того чтобы иметь его дублировать контакт в их приватном скоросшивателе без создавать экземпляр в общественном скоросшивателе сперва?

If, котор вы не хотите wade через все Кодего ниже здесь будет значительная часть: intIndex

For = olkPublic.Items.count до 1 olkContact шага -1
установленные = olkPublic.Items (intIndex). Copy
olkContact.Unread = «ложное " olkContacts

olkContact.Move class= " ясное " >
> " codeSnippet " class=
class= " lineNumbers "
class=
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:
id= " codeSnippet767227 " class= "
 ' написано мимо 
'Этот сценарий вызван своим сценарием TBCUpdate.vbs товарища и выполняет 
'фактические творение, сравнение, и уточнение директории TBC потребителя.
'Директория TBC заселена от скоросшивателя директории TBC общественного. То 
'скоросшиватель заселен через запланированную задачу бежит дальше 
'Запланированная задача вызвана «скоросшивателем директории уточнения TBC общественным» и бежит
' 
'Уточнение директории TBC \ UpdatePublicFolder \ Adfind.bat " на 12:00 am ежедневном.


'Проверка *** для того чтобы увидеть если потребитель будет член ***, то группы GPO_NoOLContacts
Тусклое objADObject, strGroup, objGroupList, objSysInfo, strUser, objUser, wshNetwork

'Свяжите к предмету потребителя в активно директории с провайдером LDAP.
Установите objSysInfo = CreateObject («ADSystemInfo»)
strUser = objSysInfo.UserName
Установите objUser = GetObject («LDAP: /» & strUser)
Установите objADObject = GetObject (objUser.AdsPath)
Установите wshNetwork = CreateObject («WScript.Network») 

'strGroup = «GPO_NoOLContacts»
'Если IsMember (strGroup) после этого
'wscript.quit 
'Закончитесь если

если будний день (дата) = vbsunday после этого
	moddate = -4
закончитесь если

если будний день (дата) = vbmonday после этого
	moddate = -5
закончитесь если

если будний день (дата) = vbtuesday после этого
	moddate = -6
закончитесь если

если будний день (дата) = vbwednesday после этого
	moddate = 0
закончитесь если

если будний день (дата) = vbthursday после этого
	moddate = -1
закончитесь если

если будний день (дата) = vbfriday после этого
	moddate = -2
закончитесь если

если будний день (дата) = vbsaturday после этого
	moddate = -3
закончитесь если

Установите wshShell = WScript.CreateObject («WScript.Shell»)
strComputerName = wshShell.ExpandEnvironmentStrings («%COMPUTERNAME%")

Установите objFSO = CreateObject («Scripting.FileSystemObject»)
filedate = DateAdd («d», moddate, дата ())
filedate = заменяет ть (filedate, «/», «-»)
filename = «директория g:\TBC - обновленная» & filedate & «.txt»
Установленное objFile = objFSO.OpenTextFile (filename, 8)
objFile.WriteLine (теперь () & «PublictoPrivate.vbs от машины: » & strComputerName)

olFolderContacts Const = 10
olPublicFoldersAllPublicFolders Const = 18 
Тусклое olkApp, olkSes, olkContacts, olkPublic, olkContact, intIndex, olPV, olkPublicVersion, plkPersonalVersion
Wscript.echo «проверяя директорию TBC.»
Установите olkApp = CreateObject («Outlook.Application»)
Установите olkSes = olkApp.GetNamespace («MAPI»)

'Находите имя комплекта параметров пользователя по дефолту внешнего вида и начните внешний вид в том профиле
профиль = ReadReg («HKCU \ средство программирования \ Майкрософт \ Шиндошсо НТ \ Subsystem послания CurrentVersion \ Windows \ профили \ DefaultProfile»)
Wscript.echo «подключая к профилю внешнего вида невыполнения обязательства: » & профиль
objFile.WriteLine (теперь () & «подключающ к профилю внешнего вида невыполнения обязательства: » & профиль)
профиль olkSes.Logon

'Создайте директорию TBC если она не существует
Установите tbcFolder = olkSes.GetDefaultFolder (olFolderContacts)
	На ошибке возобновьте затем
    Установите myNewFolder = tbcFolder.Folders.Add («директория TBC»)
	если Err.number = 0 после этого myNewFolder.ShowAsOutlookAB = True
	На ошибке переход 0

'Положение скоросшивателя директории TBC потребителя
Установите olkContacts = olkSes.GetDefaultFolder (olFolderContacts). Скоросшиватели («директория TBC»)

'Положение скоросшивателя директории публики TBC 
Установленное olkPublic = olkSes.GetDefaultFolder (olPublicFoldersAllPublicFolders). Скоросшиватели («директория TBC»). Скоросшиватели («директория TBC»)

'Находите вариант экземпляра потребителя личного директории TBC
'Она ищет единственный контакт с «*» в фамилии
Для intIndex = olkContacts.Items.count до 1 раздел -1
	olkPV = olkContacts.items (intIndex) .lastname
	если inStr, то (olkPV, «*") > 0 после этого 
		olkPersonalVersion = olkContacts.items (intIndex) .lastname
		выходите для
	закончитесь если
Затем

'Находите вариант экземпляра общественного скоросшивателя директории TBC
'Она ищет единственный контакт с «*» в фамилии
Для intIndex = 1 к разделу +1 olkPublic.Items.count
	olkPV = olkPublic.items (intIndex) .lastname
	если inStr, то (olkPV, «*") > 0 после этого 
		olkPublicVersion = olkPublic.items (intIndex) .lastname
		выходите для
	закончитесь если
Затем

вариант wscript.echo «личный: » & olkPersonalVersion
вариант wscript.echo «общественный: » & olkPublicVersion
objFile.WriteLine ("")
objFile.WriteLine (теперь () & «личный вариант: » & olkPersonalVersion)
objFile.WriteLine (теперь () & «общественный вариант:   » & olkPublicVersion)

'Если варианты не равны
если olkPersonalVersion <> olkPublicVersion после этого
	
	'Уничтожьте все контакты
	wscript.echo «извлекая личный экземпляр директории TBC»
	objFile.WriteLine (теперь () & «извлекающ личный экземпляр директории TBC»)
	Для intIndex = olkContacts.Items.count до 1 раздел -1
        	intIndex olkContacts.Items.Remove
	Затем
	детали wscript.echo «полные в директории TBC: » & olkContacts.Items.count
	objFile.WriteLine (теперь () & «полные детали в директории TBC: » & olkContacts.Items.count)
		
	'Скопируйте контакты от общественного скоросшивателя к приватному скоросшивателю
	Установите olkPublic = olkSes.GetDefaultFolder (olPublicFoldersAllPublicFolders). Скоросшиватели («директория TBC»). Скоросшиватели («директория TBC»)
	Wscript.echo «уточняя» & директория olkPublic.Items.count & «TBC контактируют…»
	objFile.WriteLine (теперь () & «уточнение» & директория olkPublic.Items.count & «TBC контактируют… ")
	Для intIndex = olkPublic.Items.count до 1 раздел -1
       	 	Установите olkContact = olkPublic.Items (intIndex). Скопируйте
			olkContact.Unread = «ложно»
       	 	olkContacts olkContact.Move
		если Mod 100 = 0 intIndex после этого 
			Wscript.echo «только» & intIndex & " вышли. «
			objFile.WriteLine (теперь () & «только» & intIndex & " left.")
		закончитесь если
		если (intIndex < 100) и (Mod 25 = 0 intIndex) после этого Wscript.echo «только» & intIndex & " вышли. «
	Затем
закончитесь если

Ваша местная TBC директория Wscript.echo «содержит» & olkContacts.Items.count & «детали и последня.»
"" Wscript.echo
Wscript.echo «если кто-то пропавше от директории TBC, то пожалуйста контактируют их и спрашивают то»
Wscript.echo «они уточняют их показатель внутри. Больше информации можно найти на»
Wscript.echo «ЭТО будет страницой.»
"" Wscript.echo
Wscript.echo «это, котор окно закроет коротк. Пожалуйста ждите пока данные по сервера обновленный…»
objFile.WriteLine (теперь () & «ваша директория TBC содержит» & olkContacts.Items.count & «детали и последнее .")
objFile.WriteLine («---------------------------------------------------------------------------------------------")
objFile.WriteLine ("")
Wscript.sleep (30000)
Установите olkContacts = ничего
Установите olkPublic = ничего
Установите olkContact = ничего
olkSes.Logoff
Установите olkSes = ничего
Установите olkApp = ничего
Установите objGroupList = ничего
Установите objADObject = ничего


'Функции и вещество

Функция IsMember (strGroup)
'Функция, котор нужно испытать для группового членства.
'strGroup будет имя NT (sAMAccountName) группы, котор нужно испытать.
'objGroupList будет предметом словаря, с глобальный объемом.
'Возвращает поистине если потребитель или компьютер будут членом группы.

  Если IsEmpty (objGroupList) после этого
    Звонок LoadGroups
  Закончитесь если
  IsMember = objGroupList.Exists (strGroup)
Функция конца

Sub LoadGroups
'Подпрограмма для того чтобы заселить предмет словаря с групповыми членствами.
'objADObject будет предмет потребителя или компьютера, с глобальный объемом.
'objGroupList будет предметом словаря, с глобальный объемом.

  Тусклые arrbytGroups, j
  Тусклые arrstrGroupSids (), objGroup

  Установите objGroupList = CreateObject («Scripting.Dictionary»)
  objGroupList.CompareMode = vbTextCompare

  блок objADObject.GetInfoEx («tokenGroups»), 0
  arrbytGroups = objADObject.Get («tokenGroups»)
  Если TypeName (arrbytGroups) = «байт ()» после этого
    arrstrGroupSids ReDim (0)
    arrstrGroupSids (0) = OctetToHexStr (arrbytGroups)
    Установите objGroup = GetObject («LDAP: //")
    objGroupList (objGroup.sAMAccountName) = True
    Установите objGroup = ничего
    Выходите подводная лодка
  Закончитесь если
  Если UBound (arrbytGroups) = -1 после этого
    Выходите подводная лодка
  Закончитесь если

  arrstrGroupSids ReDim (UBound (arrbytGroups))
  Для j = 0 к UBound (arrbytGroups)
    arrstrGroupSids (j) = OctetToHexStr (arrbytGroups (j))
    Установите objGroup = GetObject («LDAP: //")
    objGroupList (objGroup.sAMAccountName) = True
  Затем
  Установите objGroup = ничего

Закончите подводную лодку

Функция OctetToHexStr (arrbytOctet)
'Действуйте для того чтобы преобразовать OctetString (блок байта) к Hex шнуру.

  Затемните k
  OctetToHexStr = ""
  Для k = 1 к Lenb (arrbytOctet)
    _ OctetToHexStr = OctetToHexStr
      & право («0» & наговор (Ascb (Midb (arrbytOctet, k, 1))), 2)
  Затем
Функция конца

Функция ReadReg (RegPath)
'Действуйте для того чтобы прочитать значение шнура ключа регистратуры

     Затемните objRegistry, ключ
     Установите objRegistry = CreateObject («Wscript.shell»)
     Ключ = objRegistry.RegRead (RegPath)
     ReadReg = ключ
Функция конца
class=

Ответ : Внешний вид VBS копируя контактирует детали от общественного скоросшивателя

Спросите PAQ'd, 500 пунктов возвращенных, и, котор сохраненных в базе данных разрешения.
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us