|
Код работает при запуске пользователем и не работает при запуске через регл задание | ☑ | ||
---|---|---|---|---|
0
evorle145
17.07.24
✎
09:36
|
Попытка
session = Новый COMОбъект("WinSCP.Session"); sessionOptions = Новый COMОбъект("WinSCP.SessionOptions"); sessionOptions.HostName = "roadstore.avito.ru"; sessionOptions.UserName = "pan-remont"; sessionOptions.Password = "bhtyjrr6AzDh"; sessionOptions.PortNumber = 522; fingerprint = session.ScanFingerprint(sessionOptions,"SHA-256"); <------ в фоновом режиме валится ошибка на этой строке sessionOptions.SshHostKeyFingerprint = fingerprint; session.Open(sessionOptions); Исключение ЗаписьЖурналаРегистрации("ЛогиЗапуска", УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки(), РежимТранзакцииЗаписиЖурналаРегистрации.Независимая); КонецПопытки; Если просто запустить этот код под пользователем - то все работает, а если запускаю регл задание (кстати, пробовал даже указать пользователя регл задания того же самого) с этим кодом, то не работает, ошибка в строке: fingerprint = session.ScanFingerprint(sessionOptions,"SHA-256"); в ЖР текст ошибки: {ОбщийМодуль.IT_ОбщийМодуль.Модуль(12)}: Ошибка при вызове метода контекста (ScanFingerprint): Произошла исключительная ситуация (WinSCPnet): WinSCP.SessionRemoteException База sql, обычные формы (альфа авто 5). Причем месяц назад все работало на этом же сервере... а последнюю неделю перестало... в чем тут может быть проблема? |
|||
1
Lama12
17.07.24
✎
09:42
|
Где код отрабатывает на сервере или на клиенте?
|
|||
2
YFedor
17.07.24
✎
09:44
|
В фоновом задании на сервере отпечаток чего нужно сканировать, дисковвода?
|
|||
3
evorle145
17.07.24
✎
09:45
|
(1) в обоих случаях код выполняется из модуля, в котором стоят такие галки
|
|||
4
lEvGl
гуру
17.07.24
✎
09:49
|
session.ScanFingerprint
это не интерактивный метод? |
|||
5
evorle145
17.07.24
✎
09:49
|
(2) я так понимаю вот этого ресурса, который нам дали
|
|||
6
Ёпрст
17.07.24
✎
09:52
|
(0) не комильфо выкладывать в общий доступ логины и пароли от фтп
|
|||
7
RVN
17.07.24
✎
09:52
|
(3) Судя по галкам у вас скорее всего происходит так:
когда пользователь запускает - он отрабатывает на клиенте. а когда фоновое задание - на сервере. Там скорее всего и объекта такого нет |
|||
8
evorle145
17.07.24
✎
09:53
|
(1) то есть получается, так как у меня обычные формы, толстый клиент - то когда я запускаю под пользователем - то прав на все хватает и ошибки нет.
А когда выполняется фоновое задание - то у учетной записи, под которой запущена служба sql на что-то не хватает прав. Но на что? |
|||
9
RVN
17.07.24
✎
09:54
|
(8) когда под пользователем запускаете он, грубо говоря, на пользовательском компе работает.
а в фоновом задании - на сервере. |
|||
10
lEvGl
гуру
17.07.24
✎
09:58
|
(8) при чем тут скл
курите этот компонент и сравнивайте винду пользователя и сервера, например, или шифрование какое то там есть здесь нет а так вот https://winscp.net/forum/viewtopic.php?t=23927 |
|||
11
evorle145
17.07.24
✎
09:55
|
(6) в (0) настоящие логины и пароли заменены.
9?) похоже, но прикол в том, что это все работало порядка года... и вдруг перестало.. что-то поменялось на сервере, а что - я не врублюсь никак. |
|||
12
evorle145
17.07.24
✎
09:56
|
(9) пользователь подключается по rdp и запускает толстый клиент на сервере.
|
|||
13
Garykom
гуру
17.07.24
✎
09:56
|
(6) это не фтп а scp/ssh
|
|||
14
Lama12
17.07.24
✎
09:56
|
(7) +1.
Немножко поправлю, наверно. Объект такой на сервере есть, иначе ошибка сыпалась бы на первых строках, а вот доступа к отпечатку открытого ключа ssh нет. |
|||
15
Garykom
гуру
17.07.24
✎
09:58
|
(12) пользователь пусть зайдет на сервер 1С под учеткой от которой работает сервер 1С
и выполнит подключение (0) вручную |
|||
16
YFedor
17.07.24
✎
09:59
|
Залогинься на сервер под учеткой от имени которой стартует служба 1с и под ней попробуй запустить через толстого клиента
(15) Почти синхронно |
|||
17
Климов Сергей
17.07.24
✎
09:59
|
(12) Когда у вас пользователь запускает 1С, то 1С взаимодействует с ОС от имени пользователя, запустившего 1С. В случае фонового задания, выполняемого сервером 1С, 1С взаимодействует с ОС от имени пользователя, запустившего службу сервера 1С. Возможно у них разные права.
|
|||
18
Климов Сергей
17.07.24
✎
09:59
|
(15) (16) (17) Залп! :-)
|
|||
19
evorle145
17.07.24
✎
09:59
|
(14) так, понимаю, а где этот доступ дать?
в описании про Класс SessionRemoteException сказано: Это исключение возникает, когда: 1.Удаленный сервер сообщает об ошибке; 2.В сеансе консоли WinSCP произошла локальная ошибка, например, ошибка чтения локального файла. Но удаленный сервер работает, я же через WinSCP успешно логинюсь туда. получается на какой-то каталог нет прав.. |
|||
20
lEvGl
гуру
17.07.24
✎
10:00
|
протокол у вас совсем не указан
https://winscp.net/eng/docs/library_sessionoptions |
|||
21
evorle145
17.07.24
✎
10:17
|
(15) (16) (17) а служба работает сейчас под системной учетной записью.. может как раз это у них админ и поменял? может там другая учетка была..
(20) по умолчанию Protocol.Sftp. Указывать не надо, наверное. Оно ведь работало без этого и работает, если под пользователем запускать. |
|||
22
MaximSh
17.07.24
✎
10:24
|
(21) локальный пользователь был USR1CV8, надо вернуть
|
|||
23
evorle145
17.07.24
✎
10:33
|
(22) понял, да, сегодня вечером это сделаю, чтобы сейчас службу не ребутить..
|
|||
24
YFedor
17.07.24
✎
11:55
|
(23) Так сначала попробуй под этим пользователем зайти и проверить работает ли через клиента
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |