barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

пятница, 12 апреля 2013 г.

Работа служб Windows с сетевыми дисками

Проблема:

Есть служба Windows (в моем случае - WSO2 ESB), настроенная на работу с некоторой папкой, размещенной на подключенном сетевом диске (mapped network drive). Диск подключался пользователем. Служба работает от "Local System Acount" и диска не видит (пишет, что "The file does not exists").

Решение:

Подключить диск от имени системы. Для этого:
2) Запускаем cmd от Администратора, переходим в папку Sysinternals, выполняем:
psexec -i -s cmd.exe
Откроется консоль от имени "nt authority\system".
3) Подключаем сетевой диск, при необходимости задавая данные для доступа к нему:
NET USE V: \\host\share <pass> /USER:<domain>\<user> /PERSISTENT:YES
Эта команда подключит сетевую шару \\host\share как сетевой диск V:, используя имя пользователя <domain>\<user> и пароль <pass> для доступа к этой шаре.
4) Всё, после этого служба будет иметь доступ к сетевому диску. Диск восстановится после перезагрузки благодаря ключу /PERSISTENT:YES.
5) Есди диск вдруг понадобилось отключить, нужно выполнить описанные выше манипуляции для входа в консоль "nt authority\system", после чего вызывать:
NET USE V: /DELETE
Спасибо http://stackoverflow.com/questions/182750/map-a-network-drive-to-be-used-by-a-service

Комментариев нет:

Отправить комментарий