Помогите программно создать сетевой диск НаСервере

1. ZIGRAS 28.09.23 23:29 Сейчас в теме
Всем добрый! Не могу "НаСервере" создать сетевой диск.

КомандаСистемы("net use Q: \\***Компьютер***\тест /user:***Пользователь*** ***Пароль***");

"Команда системы" работает только НаКлиенте

WshShell = Новый COMObject("WScript.Shell");
WshShell.Run("net use Q: \\***Компьютер***\тест /user:***Пользователь*** ***Пароль***"); 

WshShell НаКлиенте отрабатывает, НаСервере в ошибку не влетает, но и диск не создает.

Задача запустить это в регламентном задании. Подскажите есть рабочие варианты "НаСервере" сделать диск?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. glek 119 29.09.23 08:03 Сейчас в теме
(1) Доступ у серверного пользователя на сетевую папку (на ***компьютер***)?
6. ZIGRAS 29.09.23 16:55 Сейчас в теме
(2) Доступа естественно нету. Его нужно получать в виде создания сетевого диска.
10. independ 1475 29.09.23 18:14 Сейчас в теме
18. independ 1475 01.10.23 08:13 Сейчас в теме
(1) если есть возможность на удаленном компьютере с сетевой папкой поднять службу ftp, далее средствами 1с копировать на ftp файлы
3. maks_20 161 29.09.23 08:37 Сейчас в теме
КодВозврата = Неопределено;
ЗапуститьПриложение("net use Q: \\***Компьютер***\тест /user:***Пользователь*** ***Пароль***",,Истина, КодВозврата);
Сообщить("Код возврата Net use: " + КодВозврата);
7. ZIGRAS 29.09.23 16:55 Сейчас в теме
(3)
КодВозврата = Неопределено;
ЗапуститьПриложение("net use Q: \\***Компьютер***\тест /user:***Пользователь*** ***Пароль***",,Истина, КодВозврата);
Сообщить("Код возврата Net use: " + КодВозврата);


Попробовал ответ "Код возврата Net use: 2"(
4. Dr.HiHi 3 29.09.23 08:45 Сейчас в теме
у Вас клиент и сервер один и тот же ПК??
проверьте пользователя ОС в процедуре НаСервере
8. ZIGRAS 29.09.23 16:56 Сейчас в теме
(4) Да сервер под Администратором
5. binx 164 29.09.23 09:16 Сейчас в теме
Попробуйте проделать выше предложенные советы через функцию БСП ФайловаяСистема.ЗапуститьПрограмму
можно настроить на вывод потока ошибок. Увидите что за ошибка возникает
9. ZIGRAS 29.09.23 16:57 Сейчас в теме
11. ZIGRAS 30.09.23 21:42 Сейчас в теме
С этой командной видны ошибки.
WshShell = Новый COMObject("WScript.Network");  
WshShell.MapNetworkDrive("K:", "\\Desktop-111111\тест", , "Пользователь", "Пароль");


В общем НаКлинете все ОК.
НаСервере первый раз выполняешь ошибок нет, диска тоже нет. При повторе пишет:
"Произошла исключительная ситуация (WSHNetwork.MapNetworkDrive): Имя локального устройства уже используется."
Причем выбераешь разные буквы диска и тоже самое - есть одна попытка без ошибки, далее с ошибкой.
Причем при повторном выборе уже использованной буквы он сразу впадает в ошибку что она уже используется. Даже не знаю куда копать.

На всякий проверил пользователя ОС НаСервере - Админ
12. independ 1475 30.09.23 21:56 Сейчас в теме
(11) сетевой диск на сервере подключается с какой целью? копировать файлы?
17. user856012 13 01.10.23 01:20 Сейчас в теме
(11)
На всякий проверил пользователя ОС НаСервере - Админ
А агент сервера 1С от имени Админа работает? Слабо верится...

Вообще проблема не нова: https://forum.infostart.ru/forum9/topic264716/ - решения там нет, только информация к размышлению.
13. ZIGRAS 30.09.23 21:57 Сейчас в теме
Да в регламентном задании выгрузить файлы. Других вариантов подключиться с проверкой пользователя я не нашел.
14. Dr.HiHi 3 30.09.23 22:43 Сейчас в теме
(13) бывает такое, что по сети не заходит из-за того, что требует логин и пароль
попробуйте без "Q:"
КомандаСистемы("net use \\***Компьютер***\тест /user:***Пользователь*** ***Пароль***");

после таких манипуоляций Вы сможете записать выгрузить файлы на "\\***Компьютер***\тест" без ввода логина и пароля ;))
15. ZIGRAS 30.09.23 23:35 Сейчас в теме
(14) Проблема в том мне не надо постоянно держать открытым доступ. По вашему варианту тоже можно добавлять-удалять доступ не создавая диск, но я проверил все равно команды отрабатывают только НаКлиенте


WshShell = Новый COMObject("WScript.Shell");
	WshShell.Run("net use \\Desktop-111111 \тест /user:Пользователь Пароль");

        WshShell = Новый COMObject("WScript.Shell");
	WshShell.Run("net use \\Desktop-111111 /delete");
16. independ 1475 01.10.23 00:17 Сейчас в теме
(13) понятно, попробуйте скопировать файл через cmd, примерно
net use \\pc\share /user:user password
copy c:\temp\file.zip \\pc\share\file.zip
exit

запуск из 1c
ЗапуститьПриложение("c:\temp\rcopy.cmd")
19. ZIGRAS 01.10.23 14:27 Сейчас в теме
(16) ЗапуститьПриложение("c:\temp\rcopy.cmd") при запуске говорит не удалось запустить, не удалось найти файл. Можно поподробней.
Попробовал так не помогло
 КодВозврата = Неопределено;
ЗапуститьПриложение("cmd /c net use \\Desktop-111111\тест ПАРОЛЬ /user:ПОЛЬЗОВАТЕЛЬ",,Истина, КодВозврата);
Сообщить("Код возврата Net use: " + КодВозврата);
20. ZIGRAS 01.10.23 14:34 Сейчас в теме
(17) Это администратор точно
Прикрепленные файлы:
21. Dr.HiHi 3 01.10.23 22:33 Сейчас в теме
(20) как вариант
зайдите под пользователем, под которым запущена служба, и там запустите cmd и выполните "net use..." (то что выполняете в 1с)... так же попробуйте по сети зайти в ту папку, которую хотите прописать... возможно где-то что-то с правами

и еще попробовать не по имени("\\Desktop-111111\тест"), а по ip ("\\0.0.0.0\тест") достучаться
22. ZIGRAS 01.10.23 23:54 Сейчас в теме
(21) В том то и проблема что НаКлиенте и в CMD все работает, НаСервере нет. В сетевую папку все заходит(
Оставьте свое сообщение
Вакансии
Программист 1С
Кемерово
зарплата от 200 000 руб.
Полный день

Программист 1С
Киров (Кировская обл.)
зарплата от 100 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 150 000 руб.
Полный день

Архитектор 1С
Москва
зарплата от 250 000 руб.
Полный день

1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день