Rate this post

Как подключить сетевой диск, который будет использоваться службой Windows?nПредположим, некоторая служба Windows использует код, которому необходимо использовать сетевой диск и никаких путей UNC. Как сделать отображение диска доступно сессии службы, когда служба запускается? Вход в качестве службы пользователь и создание постоянного подключения не походит для данной ситуации.nПервый вариант, создать дополнительную службу, которая будет выполнять две функции. Т.е. служба будет запускать монтирования сетевого диска, а затем запускать другую службу, которая использует этот диск.n

  • Вспомогательная служба должна иметь все те же команды start/stop/restart как и обычная служба
  • Основная и вспомогательная службы должны выполняться от имен одно и того же пользователя, тогда с правами доступа к сетевому диску не будет проблем.Если основная служба будет запущена от LOCALSYSTEM или подобного пользователя, то будут проблемы с доступом к сетевому диску.

Вариант второй. Данный вариант более интересный. Использование его на свой страх и риск. (Я испытал на XP и Server 2008 R2 x64)nnДля этого хака вам нужен Sysinternals SuitennШаг первый: Откройте cmd.exe с повышенными привилегиями то есть (Запуск от имени администратора)nnШаг два: Используйте команду PsExec.exe: Перейдите к папке, содержащей SysinternalsSuite и выполните следующую команду nn

psexec -i -s cmd.exe

n вы сейчас с правами nn

nt authority\system

nn и вы можете проверить это набрав nn

whoami

nnОпция -i необходима потому, что для отображения дисков нужно взаимодействовать с пользователемnnШаг третий: Создайте постоянный подключенный диск в качестве учетной записи SYSTEM с помощью следующей команды nn

net use z: \\servername\sharedfolder /persistent:yes

Это так просто!nnВНИМАНИЕ: Вы можете отключить этот диск только так же, как  и создали его, с системной учетной записью. Если вам нужно, удалить его, выполните шаги 1 и 2, но изменить команду на шаге 3 наnn n

net use z: /delete

ПРИМЕЧАНИЕ: Вновь созданный сетевой диск теперь появится для всех пользователей этой системы, но они будут видеть его как «Отключен сетевой диск (Z :)». Не верьте своим глазам, хоть утверждение диск отключен, но он будет работать для всех.nnВариант три. Еще решение, которое похоже на второе с PsExec, но работает без дополнительных инструментов и работает после перезагрузки.nnДобавьте в назначенные задания при старте системы запуск файла  «от имени» и содержимымn

net use z: \servername\sharedfolder /persistent:yes

nНадеемся, что один из предложенных вариантов решит вашу задачу. Если у Вас возникнут трудности, или данные варианты не решают вашу задачу, то мы поможем решить, подробности [email protected]