Не Запускаются Агенты По Расписанию

  • Автор темы Sanchel
  • Дата начала
S

Sanchel

>разделе Programmability Restrictions.
смотрим другое, внимательно читаем:
Server access
Not access server - Enter the names of Notes and Internet users and groups who are not allowed to access this server. Names entered in the "Not access server" field take precedence over names entered in the "Access server" field.
Trusted servers - Enter the names of servers that are trusted to assert the identities of users to this server, and thus are trusted by the current server to have authenticated those users. Used for remote agent access and xSP.


Добавлено: первое проверяем, на то, что там юзера нет явно или в группе.
Во второе прописываем имя сервера
В Not access server пусто, в Trusted servers тоже пусто. Не понятно что надо писать в Trusted servers? получается в серверный документ сервера "А" мы прописывая самого себя в доверенные сервера?
 
H

hosm

нет, не себя, а другой сервер, сам себе он и так доверяет. Судя по ошибке: "does not have access to this server" - предполагаю, что если не было явного ограничения доступа для подписанта на сервер, на котором запускается агент, то проблема в том, что тот сервер по параметрам доступа не может допустить к себе "чужого". (Если нет прав на запуск по безопасности из Programmability Restrictions, обычно будет немного другое сообщение).
 
S

Sanchel

нет, не себя, а другой сервер, сам себе он и так доверяет. Судя по ошибке: "does not have access to this server" - предполагаю, что если не было явного ограничения доступа для подписанта на сервер, на котором запускается агент, то проблема в том, что тот сервер по параметрам доступа не может допустить к себе "чужого". (Если нет прав на запуск по безопасности из Programmability Restrictions, обычно будет немного другое сообщение).
Так еще раз:
Есть сервер "Сервер1", на нем лежит база "База1", в базе есть агент по расписанию "Агент1", который подписан пользователем "Пользователь1", который входит в группу администраторов сервера "Сервер1". "Агент1" настроен на запуск только на "Сервере1". но по факту не запускается и выдает ошибку:

Error validating execution rights for agent 'Агент1' in database 'База1'. Agent signer 'Пользователь1', effective user 'Пользователь1'. Agent
signer, 'Пользователь1', does not have access to this server.
 
S

Sanchel

В другой базе есть другой агент, который подписан Сарвером1, при его запуске такая же ошибка. Получается Серверу1 запрещено запускать на себе свои агенты?
 

Мыш

Lotus Team
12.02.2008
1 228
30
BIT
138
А если попробовать зайти под Пользователем1 на Сервер1 с помощью клиента?
 
S

Sanchel

Ну конечно же нормально заходит, иначе как я подписывал Агента1 на Сервере1 Пользователем1
 
S

Sanchel

Скопировал настройки с другого серверного документа, вроде заработало.
 

maliy

Green Team
20.03.2007
180
2
BIT
76
Ситуация такая: есть Сервер 1, есть Сервер 2. На Сервере 2 в разделе Trusted servers: Сервер 1. На Сервере 1 есть БД1 в ней Агент 1 - который создает в БД2 на Сервере 2 Документ. Агент 1 подписан пользователем - АДМИН1, в БД2 - в ACL есть пользователь АДМИН1 и есть СЕРВЕР1. Проблема: При запуске агента1 вручную - правой кнопкой Run - документ создается. Но если ставлю Агент1 по расписанию , то в логах пишет Mgr: Agent ('createdoc' in 'БД1.nsf') error message: Database Сервер2!!БД2.nsf has not been opened yet на строке Set doc1=DB2.CreateDocument. Пробовал в агенте ставить в разделе Run on Behalf of - Сервер1. Результат тот же. Где какие права еще нужно указать?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
error message: Database Сервер2!!БД2.nsf has not been opened yet на строке Set doc1=DB2.CreateDocument. Пробовал в агенте ставить в разделе Run on Behalf of - Сервер1. Результат тот же. Где какие права еще нужно указать?
это не про права, а про не открытую БД db.Open
 

maliy

Green Team
20.03.2007
180
2
BIT
76
Print DB2.FilePath - пишет в логах ДБ2.nsf
Set DB2 = session.GetDatabase(server, DBFileName)
Print DB2.FilePath
Set doc1=DB2.CreateDocument - тут ошибка
Делал перед созданием документа
If Not DB2.Isopen Then
Print "Нет доступа к Базе !"
Exit Sub
End If
Писал в логах - Нет доступа к Базе!
При этом если вызывать этот же скрипт по кнопке из БД1 сервера 1 - то все срабатывает хорошо
Из хелпа по IsOpen
If a NotesDatabase object must be open but is not, the following error occurs: "Database has not been opened yet." This error does not occur when the NotesDatabase is created, but later when the attempt to use it occurs. Possible causes of the error are: the database as specified does not exist; the user does not have permission to access the database; the database is damaged.
Один из пунктов - the user does not have permission to access the database; - нет прав.
Вот нашел проблема моя :

Но выше писал в Trusted прописал сервер. Но все равно не работает
 
Последнее редактирование:

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
@maliy еще раз спрошу - db2.Open() пробовали?
[doublepost=1501072988,1501072740][/doublepost]когда запускаете вручную - эта БД уже есть на WS и потому открытие произойдет самой нотусятиной
в агенте по-расписанию такое не произойдет
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
@maliy на вопрос можно ответить? она пишет то что сами пишете...
СДЕЛАЙТЕ Open()
 

maliy

Green Team
20.03.2007
180
2
BIT
76
Dim DB2 As NotesDatabase
Print "1"
Set DB2 = session.GetDatabase(server, DBFileName)

Call DB2.open("Сервер2","БД2.nsf")
Print DB2.FilePath
Print "2"


If Not DB2.Isopen Then
Print "Нет доступа к Базе Роутер!"
End If
If DB2.IsOpen=False Then
Print "3"
End If
Print "do err"
Set view = DB2.getview("Search") - ошибка тут
в логах :
printing: 1
БД2.nsf
printing: 2
printing: Нет доступа к Базе Роутер!
printing: 3
printing: do err
error message: Database Сервер1!!БД2.nsf has not been opened yet
P.S. 4 строка кода Call DB2.open("Сервер2","БД2.nsf")
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
Set DB2 = session.GetDatabase(server, DBFileName)

Call DB2.open("Сервер2","БД2.nsf")
Print DB2.FilePath
Print "2"


If Not DB2.Isopen Then
обрамляйте правильно код тегами, надо писать так
Код:
Set DB2 = session.GetDatabase(server, DBFileName)
Call DB2.open()
If Not DB2.Isopen Then
[doublepost=1501147306,1501146788][/doublepost]еще Print session .UserName
[doublepost=1501147552][/doublepost]еще вариант - открывать по реплике
Код:
Dim DB2 As New NotesDatabase("", "")
If appDB.OpenByReplicaID(mailServer, DB2RID)Then
....
End If
[doublepost=1501148124][/doublepost]еще
1. When using any of the following methods: db Open, db OpenIfModified, new db, OpenMail, the user who last saved or "stamped" the agent must be listed in the Run Unrestricted LotusScript Agents fields in the Server document.
link removed
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!