1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Поиск неиспользуемых почтовых файлов

Тема в разделе "Lotus - Программирование", создана пользователем Wanderer, 28 мар 2006.

  1. Wanderer

    Wanderer Well-Known Member
    Lotus team

    Репутация:
    1
    Регистрация:
    23 мар 2006
    Сообщения:
    404
    Симпатии:
    16
    Народ честной, помогите или подскажите!
    Есть необходимость проверки существующих почтовых файлов на их последнее использование/открытие. Может есть у кого готовое решение проблемы по поиску неиспользуемых почтовых ящиков (не только "мёртвых", но и существующих юзеров) и выдаче админу списка владельцев сих файлов? Я так полагаю, это вполне реально.
    Просто люди увольняются, но админу не сообщают о движении кадров. А вручную выискивать - не совсем рационально.
     
  2. Wanderer

    Wanderer Well-Known Member
    Lotus team

    Репутация:
    1
    Регистрация:
    23 мар 2006
    Сообщения:
    404
    Симпатии:
    16
    Может кто подскажет, как создать представление, в котором бы отображался список баз данных (почтовых файлов) с возможностью сортировки по дате последнего обращения пользователя к БД?
    Есть вообще такое свойство у базы данных помимо общеизвестных таких, как "дата создания" и "дата изменения"?
     
  3. Гость

    Репутация:
    0
    Есть. На второй вкладке свойств базы можно посмотреть.
    В Админке можно посмотеть такой вид в действии.

    Глянь в хелпе свойства NotesDatabase - Created и LastModified.
     
  4. Wanderer

    Wanderer Well-Known Member
    Lotus team

    Репутация:
    1
    Регистрация:
    23 мар 2006
    Сообщения:
    404
    Симпатии:
    16
    <!--QuoteBegin-Юлия+31:03:2006, 11:57 -->
    <span class="vbquote">(Юлия @ 31:03:2006, 11:57 )</span><!--QuoteEBegin-->Глянь в хелпе свойства NotesDatabase - Created и LastModified.
    [snapback]32829" rel="nofollow" target="_blank[/snapback]​
    [/quote]Если я не ошибаюсь, то "LastModified" не совсем подходит под мои нужды, т.к. эти самые последние изменения производит и сервер, доставляя почту в почтовый ящик. А мне интересует существование некоего свойства NotesDatabase, которое отражало бы именно последнее обращение (открытие) пользователя к почтовому файлу. Но по всей видимости, такого свойства нет - по крайней мере, я ничего похожего не нашел в хелпе.
     
  5. nor

    nor Гость

    Репутация:
    0
    Wanderer

    IBM Domino Administrator client - Files - (выбери свой мэйл сервер) - mail директория.

    Отобразиться список всех почтовых файлов на выбранном сервере. Выбери интересующую тебя базу, затем - меню Files/Analize... Сделай анализ по User activity.
     
  6. Гость

    Репутация:
    0
    Для: nor
    А как можно получить значение последнего обращения пользователя к базе с помощью LS? Желательно конкретного пользователя.
    Можно ли это в принципе?
     
  7. Wanderer

    Wanderer Well-Known Member
    Lotus team

    Репутация:
    1
    Регистрация:
    23 мар 2006
    Сообщения:
    404
    Симпатии:
    16
    nor
    Спасибо! Упустил из вида данную возможность. К сожалению, Analyze доступен только для отдельной базы данных. Есть ли подобная возможность для анализа целого списка баз данных?
     
  8. Murtas

    Murtas Гость

    Репутация:
    0
    1. Подойти в бухгалтерию и взять список всех активных сотрудников. Надеюсь проблем не возникнет с названиями почтовых баз. (Сорри за банальность.)

    2. Все таки проще систематизировать движение кадров, используя хотя бы примитивную базу типа "Кадры" (с указание статуса сотрудника) ... при использовании Лотуса отсутствие таковой базы в системе выглядит кастрированной почтовой системой без расширенной инфы по пользователям.

    3. Скорее совет для дальнейшей работы: если предыдущие пункты никак нельзя осуществить, и народ почти ежедневно "движется". - Сделать свой почтовый темплэйт и применить ко всем почтовым базам. С этих баз потом будет создаваться лог с информацией (датой) ,например, последнего открытия почты.
     
  9. nor

    nor Гость

    Репутация:
    0
    Для: Юлия
    Если косвенно проанализировать деятельность пользователя над документами. Все документы в базе данных хранят список имен последних редакторов и список дат последнего редактирования документа. По другому - я не решал подобной задачи еще, потому ничего конкретного сказать не могу более.
     
  10. Wanderer

    Wanderer Well-Known Member
    Lotus team

    Репутация:
    1
    Регистрация:
    23 мар 2006
    Сообщения:
    404
    Симпатии:
    16
    А как сделать поиск даты последнего отправленного сообщения по почтовым базам?
     
  11. nor

    nor Гость

    Репутация:
    0
    Для: Wanderer


    Agent

    Name: MailFileProcess
    Options: Shared
    Runtime: Trigger 'On event', 'Agent list selection', Target 'None'.

    Код:
    (Declarations)
    Dim session As NotesSession
    Dim db As NotesDatabase
    Dim FILE_DIR As String
    Dim MAIL_DIR As String
    Dim SENDTO As String
    
    Sub Initialize 	
    Dim maildb As NotesDatabase
    Dim view As NotesView
    Dim maildoc As NotesDocument
    Dim rtitem As NotesRichTextItem	
    Dim file_path As String
    Dim file_name As String
    Dim result() As String
    Dim i As Integer
    Dim msg As String
    
    On Error Goto catch 
    
    Set session = New NotesSession
    Set db = session.CurrentDatabase 
    FILE_DIR = "C:\Lotus\Domino\Data\mail\"
    MAIL_DIR = "mail\"
    file_path = FILE_DIR + "*.nsf*"
    ' list of all .nsf files in the FILE_DIR
    file_name = Dir$(file_path, 0)
    SENDTO = "admin/iba"
    i = -1
    Do While file_name <> "" 
    Set maildb = session.GetDatabase(db.Server, MAIL_DIR + file_name, False) 
    If Not maildb Is Nothing Then
    If Not maildb.CurrentAccessLevel < ACLLEVEL_READER Then
     Set view = maildb.GetView("($Sent)")
     Call view.Refresh
     Set maildoc = view.GetLastDocument
     If Not maildoc Is Nothing Then
     	i = i + 1 
     	Redim Preserve result(i)
     	result(i) = maildb.FilePath + "': " + Cstr(maildoc.PostedDate(0))
     End If
    Else
     Call SendAdminLog("Ошибка доступа: " + FILE_DIR + file_name, SENDTO)
    End If 
    End If 
    file_name = Dir$()
    Loop
    ' send result() to SENDTO
    If Not i = -1 Then
    msg = Join(result, Chr(10))
    Call SendAdminLog(msg, SENDTO)
    End If
    
    Exit Sub 
    catch:
    Call ErrorProcess()
    End
    Resume Next 
    
    End Sub
    
    Sub SendAdminLog(msg As String, sendto As String) 	
    Dim maildoc As NotesDocument
    Dim rtitem As NotesRichTextItem
    
    On Error Goto catch 
    
    Set maildoc = New NotesDocument(db)	
    maildoc.Form = "Memo"
    maildoc.Subject = db.Title + " application administration log message "
    maildoc.SendTo = sendto
    maildoc.Principal = db.Title + " application"
    Set rtitem = New NotesRichTextItem(maildoc, "Body") 
    Call rtitem.AppendText(msg)
    Call maildoc.Send(False) 	
    
    Exit Sub 
    catch: 
    End
    Resume Next	
    
    End Sub
    
    Sub ErrorProcess()
    
    On Error Goto catch
    
    Call SendAdminLog(|Agent "| + agent.Name + |" error:| + Ustring(2, Chr(10)) + |Error #| + Cstr(Err) + | in line | + Cstr(Erl) + |: | + Error$() + |.|, SENDTO)
    
    Exit Sub 
    catch:	
    End
    Resume Next	
    
    End Sub
     
  12. Wanderer

    Wanderer Well-Known Member
    Lotus team

    Репутация:
    1
    Регистрация:
    23 мар 2006
    Сообщения:
    404
    Симпатии:
    16
    а в какой БД этого агента лучше создавать?
     
  13. nor

    nor Гость

    Репутация:
    0
    Для: Wanderer
    В любой бд, расположенной на сервере, в котором есть директория mail, которая содержит почтовые файлы, которые тебе нужно обработать.
     
Загрузка...

Поделиться этой страницей