Конференция "WinAPI" » Копирование сетевых файлов в службе [WinXP]
 
  • AleXXX (20.11.18 16:30) [0]
    Есть служба, которая копирует указанные ей файлы. Если файлы локальные, CopyFile отрабатывает "на ура". Если файл-источник сетевой - фиг.
    Система XP, служба запущена от SYSTEM но с флажком Interactive with Desktop. Пробовал запускать в контексте пользователя, пробовал в службе запускать батч с копированием, пробовал перед CopyFile LogonUser - безрезультатно.
    Подскажите уважаемые, есть ли шанс у службы скопировать сетевой файл?
  • AleXXX (20.11.18 17:59) [1]
    Это GetLastError'ы для самоконтроля
    Перед логином:Операция успешно завершена
    После логина:Операция успешно завершена
    После имперсоната:Операция успешно завершена
    Token=260
    Копирование файла:Вход в систему не произведен: имя пользователя или пароль не опознаны
  • Leonid Troyanovsky © (21.11.18 10:37) [2]

    > AleXXX   (20.11.18 16:30) 

    > Система XP, служба запущена от SYSTEM но с флажком Interactive

    ЕМНИП, служба должна запускаться с учетной записью, которой доступны
    те самые сетевые файлы. Кроме того, у этой записи д.б. права для входа в
    систему в качестве службы.

    См. также http://rsdn.org/?article/qna/baseserv/privedit.xml

    --
    Regards, LVT.
  • AleXXX (21.11.18 12:51) [3]
    Leonid Troyanovsky
    Уважаемый Леонид, прошу прощения. Я первым делом за это и подумал. И начал кодить копирование именно с LogonUser. Мучался и так и эдак, как описано тут

    <L>https://docs.microsoft.com/en-us/windows/desktop/SecAuthZ/client-access-to-network-resources</L>

    > A server can use the following strategies to access network resources:
    > ...


    А, как оказалось сегодня, после ещё 2х часов извращений всё оказалось проще. CopyFile заработал в контексте Local SYSTEM вообще без бубнов. Всё закоментил оставил один CopyFile и копирование пошло.
    Благодарю за внимание, вопрос снимается.
  • AleXXX (23.11.18 12:26) [4]
    Единственное добавлю (даже для себя), что без бубнов таки не обошлось. Одним из бубнов был net use. Однажды сработав, (а я убрал всё в коменты) он продолжал держать сеанс до перезагрузки. Естественно, после перезагрузки компьютера служба перестала копировать :(
    Пришлось добавить в ServiceStart один WNetAddConnection2 без редиректа в LocalName.
  • KSergey © (17.12.18 16:19) [5]
    > AleXXX   (23.11.18 12:26) [4]
    > Пришлось добавить в ServiceStart один WNetAddConnection2  без редиректа в LocalName.

    С именем и паролем?
 
Конференция "WinAPI" » Копирование сетевых файлов в службе [WinXP]
Есть новые Нет новых   [118234   +5][b:0][p:0]