|
Авторизация на smb сервере из 1с | ☑ | ||
---|---|---|---|---|
0
kIR
10.05.16
✎
14:39
|
Добрый день!
По просьбе клиентов для ПТиУ сделали отдельную вкладку для сохранения сканов документов. При добавлении скана он автоматически копируется на smb шару, запароленную естессно. Жутко не хочется для каждого пользователя подключать сетевой диск и тд. Есть ли вариант авторизоваться на нем из 1с? пробовал сделать как то так: текст= "net use m: \\192.168.87.2\1cscan\ /user:<логин> <пароль>"; //текст= "net use \\192.168.87.2\1cscan\ /user:<логин> <пароль>"; файлБатника= КаталогВременныхФайлов()+"reg.cmd"; записьТекст=новый ЗаписьТекста(файлБатника); записьТекст.Записать(текст); записьТекст.Закрыть(); КомандаСистемы(файлБатника); Но не хочет ни в какую. Ошибка при копировании. Как еще можно решить проблему? Спасибо |
|||
1
Pistol
10.05.16
✎
14:55
|
Авторизация ОС + обращение к шаре по полному имени, без маппинга диска.
|
|||
2
kIR
10.05.16
✎
14:56
|
(1) а для пролетариев поподробнее можно?
|
|||
3
Pistol
10.05.16
✎
15:40
|
- Назначить пользователям 1С авторизацию ОС
- Соответствующим пользователям ОС дать доступ к шаре и права на файловую систему - Обращаться из кода как: ДвоичныеДанные.Записать("\\192.168.1.1\Шара\файл.жпг"); |
|||
4
kIR
10.05.16
✎
15:50
|
(3) но у нас кто то с терминала к 1с коннектится, кто то с локально пк, кто то вообще через удаленку из дома
|
|||
5
eklmn
гуру
10.05.16
✎
15:52
|
(4) делай на сервере значит, передавай клиенту через хранилище
|
|||
6
Фрэнки
10.05.16
✎
15:55
|
По тексту получается, что происходит ошибка копирования, а не создания во временном каталоге.
|
|||
7
Лефмихалыч
10.05.16
✎
15:57
|
(0) попробуй без буквы
net use \192.168.1.1\1cscan /user:YourDomain\UserLogin PaSsWoRd |
|||
8
Лефмихалыч
10.05.16
✎
15:58
|
+(7) этот спелл сохранит кредентиалы в кэше и винда будет их использовать, кода пользователь проводником или чем-то еще будет ломиться в шару
|
|||
9
kIR
10.05.16
✎
16:08
|
(7) пробовал и с буквой и без буквы
|
|||
10
kIR
10.05.16
✎
16:09
|
А ошибка вылетает такая:
{Форма.Форма.Форма(32)}: Ошибка при вызове метода контекста (КопироватьФайл) КопироватьФайл(СтрокаТЧ.ИмяФайлаСкана,Каталог + СтрокаТЧ.ИмяДляСохранения); по причине: Ошибка копирования файлов по причине: Ошибка копирования файлов из 'C:\Users\Кирилл\Desktop\ПЕчать.jpg' в '\\192.168.87.2\1cscan\test1.jpg' : Ошибка при выполнении файловой операции |
|||
11
Лефмихалыч
10.05.16
✎
16:21
|
(10) проводником то же самое можешь сделать? или при помощи cmd.exe
|
|||
12
Лефмихалыч
10.05.16
✎
16:22
|
точнее - очевидно, что не можешь, но хотелось бы увидеть текст, которым тебя xcopy пошлет или проводник
|
|||
13
kIR
10.05.16
✎
16:23
|
(11) создал интереса для cmd файл на рабочем столе с текстом
net use \\192.168.87.2\1cscan /user:login password все норм выполняется и дает зайти на диск потом. |
|||
14
Лефмихалыч
10.05.16
✎
16:24
|
(13) а теперь 1сом попробуй.
А 1С, кстати, на сервере это все выполняет или на клиенте? |
|||
15
kIR
10.05.16
✎
16:28
|
(14) 1c то потом заработает. но хочется отдельно не запускать у клиентов cmd.
попробовал сейчас xcopy d:\1.jpg \\192.168.87.2\1cscan\ Получил ошибку "неправильно указан диск" |
|||
16
kIR
10.05.16
✎
16:33
|
(14) на клиенте при добавлении юзверем данных в строке
|
|||
17
Фрэнки
10.05.16
✎
16:34
|
(15) но ведь не работает сейчас, даже после запуска cmd вручную
|
|||
18
kIR
10.05.16
✎
16:34
|
(17) да. а задача - чтобы при запуске из под 1с работало
|
|||
19
kIR
10.05.16
✎
16:35
|
(17)блин.не так прочитал) я ж комп ребутал
|
|||
20
kIR
10.05.16
✎
16:35
|
(17) вообще - после ручного запуска cmd все работает)
|
|||
21
Лефмихалыч
10.05.16
✎
16:36
|
в общем, после net use без буквы должно работать. Если не работает, значит net use по каким-то причинам не выполнился.
Это работает ровно в таких, как в сабже условиях. Проверено лично. |
|||
22
kIR
10.05.16
✎
16:41
|
(21) только сейчас догадался поставить оператор паузы и посмотреть,что вылезает
Но легче не стало http://hkar.ru/It8o |
|||
23
kIR
10.05.16
✎
16:45
|
странно,что там 8.2 фигурирует,ведь польззуемся при работе с этой базой платформой 8.3
|
|||
24
Лефмихалыч
10.05.16
✎
16:46
|
(22) ну, ты выполняешь не net use, а какую-то господнюю сцань. Перестань так делать
|
|||
25
kIR
10.05.16
✎
16:51
|
(24) а как сделать то?)
|
|||
26
Лефмихалыч
10.05.16
✎
16:52
|
(25) командасистемы - например
Scripting.shell::run |
|||
27
Лефмихалыч
10.05.16
✎
16:53
|
точнее wscript.shell
|
|||
28
ДенисЧ
10.05.16
✎
16:56
|
А зачем ты уникод в команду передаёшь?
|
|||
29
kIR
10.05.16
✎
16:58
|
(26)(27) понял,попробую
(28) нууу...как умел,так и делал) |
|||
30
kIR
10.05.16
✎
17:08
|
(27) а как в таком случае будет выглядеть все?
|
|||
31
kIR
10.05.16
✎
17:10
|
(30) ну не вот так же
WshShell = Новый COMObject("WScript.Shell"); текст= "net use \\192.168.87.2\1cscan /user:login password"; Попытка WshShell.Run("""" + текст + """"); Исключение КонецПопытки; |
|||
32
Лефмихалыч
10.05.16
✎
20:16
|
(31) ты жалуешься или хвастаешься?
|
|||
33
kIR
11.05.16
✎
09:02
|
(32) я спрашиваю,Как сделать) бо предложенная конструкция не работает
|
|||
34
Лефмихалыч
11.05.16
✎
09:04
|
WshShell.Run("net use \192.168.87.2\1cscan /user:login password");
что буквально значит "не работает"? Как ты узнаешь, что не работает? |
|||
35
kIR
11.05.16
✎
09:08
|
(34) файло не копируется,доступа нет
|
|||
37
Лефмихалыч
11.05.16
✎
09:09
|
(35) WshShell.Run("net use \192.168.87.2\1cscan /user:login password 2>c:\net-use.log");
покажи содержимое c:\net-use.log |
|||
38
kIR
11.05.16
✎
09:16
|
(37) а нет там лога,не создается
|
|||
39
Pistol
11.05.16
✎
09:18
|
(37) не надо в корень С писать
|
|||
40
kIR
11.05.16
✎
09:22
|
(39) пробовал - не помогло)
А как бы посмотреть,что там в окне командной строки на секунду вылетает? |
|||
41
Лефмихалыч
11.05.16
✎
09:24
|
(39) ну, пистец теперь, проблема не решаемая!
(38) ты демонстрируешь отталкивающую беспомощность |
|||
42
kIR
11.05.16
✎
09:25
|
(41) только в силу неграмотности/неопытности/незнания
|
|||
43
Vladal
11.05.16
✎
09:29
|
(37)(38)(39)(40)... ребят... ну ведь не сложно исправить c:\net-use.log на любой другой путь?
Например, так: WshShell.Run("net use \192.168.87.2\1cscan /user:login password 2>%temp%\net-use.log"); |
|||
44
kIR
11.05.16
✎
09:30
|
(43) да исправил давно на C:\Test\net-use.log
и с ">" пробовал,и с ">>" |
|||
45
ViSo76
11.05.16
✎
09:31
|
(39) Он только подключает папку.
(0) На сколько я понял это windows? Если так то: Пропиши cmd под пользователем который будет пользоваться доступом net use B: \\192.168.87.2\1cscan [Тут пропиши пароль] /user:[Тут пропиши логин] PS: B: Это имя сетевого диска, на который ты и будешь писать файл. Если выдаст ошибку 5 значит нет прав доступа. WshShell.Run("net use B: \\192.168.87.2\1cscan [Тут пропиши пароль] /user:[Тут пропиши логин] > %temp%\net-use.log"); Удалить команда net use /D B: |
|||
46
kIR
11.05.16
✎
09:39
|
(45)ну клиент то на windows
|
|||
47
ViSo76
11.05.16
✎
09:45
|
(46) Протокол SMB по идее стандартизован и описан в RFC. Если что есть smbclient под windows. Проверь то что я написал через cmd и тогда понятно будет что за проблема.
|
|||
48
kIR
11.05.16
✎
09:56
|
(47) я в (13) писал,что напрямую из под CMD все работает без проблем
|
|||
49
Лефмихалыч
11.05.16
✎
09:56
|
(44) значит не выполняется у тебя команда эта и всё
|
|||
50
ViSo76
11.05.16
✎
10:14
|
(48) Попробуй так. WshShell.Run("net use B: \\192.168.87.2\1cscan [Тут пропиши пароль] /user:[Тут пропиши логин]"); Всё равно когда будешь писать на диск B: получишь ошибку, которую можно будет интерпретировать как ошибку доступа к сетевой папке.
|
|||
51
kIR
11.05.16
✎
10:28
|
(50) а вот так добавился диск)
Единственное...сильно неадекватной будет такая схема: подключили диск - скопировали/удалили файло - отключили диск? |
|||
52
Лефмихалыч
11.05.16
✎
10:31
|
(51) без буквы теперь попробуй
|
|||
53
kIR
11.05.16
✎
10:36
|
(52) а сейчас работает
|
|||
54
Лефмихалыч
11.05.16
✎
10:41
|
(53) то есть пароль надо было перед логином поставить и всё?
|
|||
55
kIR
11.05.16
✎
10:43
|
(54) сомневаюсь,я пробовал разные комбинации. сейчас комп ребутну и проверю
|
|||
56
Pistol
11.05.16
✎
10:52
|
(55) Эхьэхь... Справку посмотреть - это так тяжело
И какой же порядок параметров? |
|||
57
kIR
11.05.16
✎
11:18
|
не пойму. я точно пробовал разные комбинации пароля - и в середине,и так..
а сейчас работает Спасибо всем за потраченные нервные клетки) очень помогли) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |