Авторизация на smb сервере из 1с #771960


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

В этой группе 1С