Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Сервис Windows - доступ к файлам в лок. сети


Автор: VoV_I_K 6.4.2010, 11:03
Пытаюсь написать сервис который будет копировать файлы с , расшаренной на полный доступ, паки в локальной сети(или на моем компе на выбор) на мой компьютер.
Так же этот сервис у меня пишет лог просто в текстовый файл рядом с exe-шником сервиса.

Проблема в том что если сервис запускать из-под ЛОКАЛЬНАЯ СИСТЕМА , то ошибка доступа.
А если запускаю от имени админа - не входит если , не вошел юзер.
От имени СЕТЕВАЯ СЛУЖБА - не могу записать файла на локальную машину.

Если работаю с файлами на локальной машине из-под ЛОКАЛЬНАЯ СИСТЕМА - все ок! 


Для копирования использую FindFirst, FindNext  и т.д.

Вот как решить эту проблемку? 



Автор: Akella 6.4.2010, 21:40
Цитата(VoV_I_K @  6.4.2010,  11:03 Найти цитируемый пост)
Проблема в том что если сервис запускать из-под ЛОКАЛЬНАЯ СИСТЕМА , то ошибка доступа.

Ошибка доступа к чему?

Добавлено через 1 минуту и 8 секунд
И в какой момент. В момент установки, запуска, копирования откуда-то чего-либо, записи в лог-файл?

Добавлено через 6 минут и 10 секунд
Всё дело в правах винды.
Читай всю тему очень внимательно.
http://forum.vingrad.ru/topic-113949.html

Автор: VoV_I_K 8.4.2010, 19:28
Прошу прощения , что сразу не описал в подробностях.
Вобщем если делаю те же действия, но не как служба, а как простое приложение, то все работает!

(просто проверяю есть ли файлы и какие в папке на удаленном компе вводя \\192.168.1.1\share\ в ф-ции FindFirst, FindNext . Потом создаю обьект наследник Tstrings, куда скидываю названия найденных файлов, и сохраняю его на диск savetofile('aa'))

Как только оформляю сие действие как сервис начинается следующее;
- если запущен из под Локальная система, то функции FindFirst, FindNext ничего не выдают , но файл лога пиштся...
- если запущен как Админ компа, то FindFirst, FindNext находят файлы и лог пишется
- если запущен как Сетевая служба, то FindFirst, FindNext работает нормуль, но вот лог писаться не хочет.

Вот и вапрос! Как бы это по правильнее обайти. Как вообще пишутся службы рабоющие одновременно с файлам на локальном и удаленном компе, но при этом запускаются не зависимо от входа локального пользователя на компьютер, где они запущены.

Добавлено через 2 минуты и 14 секунд
а и еще ... права систем как локальной, так и удаленной нормально настроены для работы с общими файлами и папками.
В той тебе нелько иные вопросы

Автор: Akella 10.4.2010, 10:53
Цитата(VoV_I_K @  8.4.2010,  19:28 Найти цитируемый пост)
Вобщем если делаю те же действия, но не как служба, а как простое приложение, то все работает!

Так ты заходи на сетевой ресурс не от имени службы, а от имени пользователя.
Или заранее устанавливай службу с правами пользователя. Т.е. при установке службы требуй пользователя ввести логин и пароль. Как вариант, пользователь на компьютере или в домене может создать специально для твоей службы пользователя с нужными правами и ввести в настройки эти логин и пароль.

Добавлено через 1 минуту и 1 секунду
Или давай соответствующие права на удалённом компьютере для общей папки.

Добавлено через 3 минуты и 19 секунд
Цитата(VoV_I_K @  8.4.2010,  19:28 Найти цитируемый пост)
- если запущен как Сетевая служба, то FindFirst, FindNext работает нормуль, но вот лог писаться не хочет.

А куда ты лог пишешь? Если права у этой папки для Сетевой службы?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)