очистка групп

  • Автор темы 1KIA
  • Дата начала
Статус
Закрыто для дальнейших ответов.
1

1KIA

#1
Прочитала множество тем, но решения не нашла
Групп в АК очень много, к сажалению раньше удаляли просто DEL, а теперь используется Adminp
В нруппах много сотрудников , которых в реальности нет.
Как можно их удалить из групп?
 

Cleric-Lviv

Lotus team
03.01.2008
600
0
#2
1KIA

ну а еталонная група в которой есть только работающие сотрудники имеется? если да тогда можно удалить мертвие души)
 
1

1KIA

#3
Cleric-Lviv
нет к сожалению (если я правильно поняла), но такой группы нет, т.е. группы, в которой перечислены все сотрудники и который 100% имеются в АК
 

nvyush

Lotus team
22.04.2009
2 317
0
#4
Прочитала множество тем, но решения не нашла
Групп в АК очень много, к сажалению раньше удаляли просто DEL, а теперь используется Adminp
В нруппах много сотрудников , которых в реальности нет.
Как можно их удалить из групп?
Если я правильно понял, то раньше с помощью "просто DEL" удаляли пользователей и они теперь висят в группах "мертвыми душами"?
Если так, можно написать агента, который перебирает категории представления "($ServerAccess)" и ищет соответствующего пользователя в представлении "($VIMPeople)" (учитывая, что во втором случае имена в сокращённой форме). Если имя найдено, то всё ОК, если нет — открывать все документы групп соответствующей категории и удалять оттуда "нереального" пользователя.
 
1

1KIA

#5
nvy
да вы верно меня поняли, именно от мертвых душ и надо избавиться
вот на другом сайте нашла пример
Код:
Sub Initialize
Dim s As New NotesSession 
Dim db As NotesDatabase 
Dim dc As NotesDocumentCollection 
Dim dt As New NotesDateTime("01/01/80") 
Dim doc As NotesDocument 
Dim item As NotesItem 

Set db = s.CurrentDatabase 
Set dc = db.Search("Form = 'Person'",dt, 0) 

For i = 1 To dc.Count 
Set doc = dc.GetNthDocument(i)
Print "Working on... " + doc.FullName(0) 
Call doc.ComputeWithForm(False, False) 

Dim nabFullNameView As NotesView
Dim nabServerAccessView As NotesView
Dim nabPerson1 As NotesView

Set nabFullNameView = db.GetView("($LDAPCN)")
Set nabServerAccessView = db.GetView("($ServerAccess)")
Set nabPerson1 = db.GetView("($VIMPeople)")

Call nabFullNameView.Refresh
Call nabServerAccessView.Refresh
Call nabPerson1.Refresh

Call s.Close

Call doc.ReplaceItemValue("Status","Processed")
Call doc.Save(True, True)

Next 

Messagebox "Agent is finished running.", 0, "Lotus Notes" 

End Sub
только в примере присваивают статус, а мне необходимо удалять....
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#6

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#7
я всё понимаю..., но прошёл год! с момента регистрации и куча постов на форуме, а до сих пор - странные вопросы и код...
 
1

1KIA

#8
спасибо, за помощь
Удалила все не нужное. Сделала сравнение и переместила ФИО "мертвых" в файл и потом самостоятельно уже (вручную) правила, т.к. не всех необходимо было удалять, некоторым просто необходимы были правки их ФИО
 

VladSh

начинающий
Lotus team
11.12.2009
1 262
6
#9
Чтобы на будущее всё автоматом чистило/переименовывало можно в адресных книгах: ACL -> Advanced -> "Action" для админсервера поставить значение "Modify all Names fields".
 
Статус
Закрыто для дальнейших ответов.