Форум продуктов IBM Lotus
Общие вопросы => Поддержка => Тема начата: HUR от 25 Ноябрь 2011, 09:25:50
-
Здраствуйте!
Если сервер Lotus переехал на новый адрес, т.е. находиться на другом доменном имени, но конфигурация та жа.
Можно ли сделать скрипт изменяющий в notes.ini место подключение?
Или все же прийдется у каждого менять путь через клиент вручную?
Ну и другие способы...
-
1. Отправляете всем пользователям письмо, в котором создаете кнопку, при нажатии которой и дожны пройти изменения
беру у себя с примера не проверяя, так что проверьте на тесте сначала
Const VIEW_LOCATION_NAME = "($Locations)"
Const VIEW_CONNECTION_NAME = "($Connections)"
Const OLD_DOMAIN_NAME = "Название домена _ Старое"
Const NEW_DOMAIN_NAME = "Название домена _ Новое"
Sub Click(Source As Button)
Dim session As New NotesSession
Dim dbNab As NotesDatabase
Dim view As NotesView
Dim note As NotesDocument
Dim sNamesLine As String
Dim nPos As Integer
Dim sDomainValue As String
Dim bNeedsUpdate As Integer
Dim bLocationModified As Integer
On Error Resume Next
sNamesLine = session.GetEnvironmentValue("names",True)
nPos = Instr(sNamesLine, ",")
If nPos > 0 Then
sNamesLine = Left$(sNamesLine, nPos-1)
Else
sNamesLine = "names.nsf"
End If
Set dbNab = New NotesDatabase( "",sNamesLine )
If Not(dbNab.isOpen) Then
Messagebox("Не удалось")
Exit Sub
End If
Set view = dbNab.GetView(VIEW_LOCATION_NAME)
If (view Is Nothing) Then
Messagebox("книга отсутствует.")
Exit Sub
End If
Set note = view.GetFirstDocument
While Not(note Is Nothing)
sDomainValue = note.Domain(0)
If Lcase(sDomainValue) = Lcase(OLD_DOMAIN_NAME) Then
note.Domain = NEW_DOMAIN_NAME
note.MailServer="Название сервера "
Call note.save(True,False)
bLocationModified = True
End If
Set note = view.GetNextDocument(note)
Wend
Set view = dbNab.GetView(VIEW_CONNECTION_NAME)
If (view Is Nothing) Then
Messagebox("книга отсутствует.")
Exit Sub
End If
Set note = view.GetFirstDocument
While Not(note Is Nothing)
bNeedsUpdate = False
sDomainValue = note.SourceDomain(0)
If Lcase(sDomainValue) = Lcase(OLD_DOMAIN_NAME) Then
note.SourceDomain = NEW_DOMAIN_NAME
note.MailServer="Название сервера "
bNeedsUpdate = True
End If
sDomainValue = note.DestinationDomain(0)
If Lcase(sDomainValue) = Lcase(OLD_DOMAIN_NAME) Then
note.SourceDomain = NEW_DOMAIN_NAME
note.MailServer="Название сервера"
bNeedsUpdate = True
End If
If (bNeedsUpdate) Then Call note.save(True, False)
Set note = view.GetNextDocument(note)
Wend
Set note = dbNab.CreateDocument
If (bNeedsUpdate) Then
Messagebox("переоткройте.")
Else
Messagebox("Спасибо")
End If
End Sub
Здесь смысл, что указывается название старого домена, с которым сравнивается домен указанный в месте вызова сотрудника, и если старое название совподает, то тогда укажется новый домен, название сервера, ну и можно дописать другие данные, которые надо поменять автоматически у всех
-
Можно групповыми политиками windows заметить существующий notes.ini на новый при загрузки ПК пользователя. Если этот метод вам подходит, то могу подробно описать.
-
Было б неплохо написать пару методов решения этой проблемы, и отнести ее к FAQ
На моем месте проблема была решена, составлением мануала для пользователя что и как тыкнуть чтоб заработало (+с перездом на новый рабочий год)