Как подключить сетевой диск, который будет использоваться службой Windows?nПредположим, некоторая служба Windows использует код, которому необходимо использовать сетевой диск и никаких путей UNC. Как сделать отображение диска доступно сессии службы, когда служба запускается? Вход в качестве службы пользователь и создание постоянного подключения не походит для данной ситуации.nПервый вариант, создать дополнительную службу, которая будет выполнять две функции. Т.е. служба будет запускать монтирования сетевого диска, а затем запускать другую службу, которая использует этот диск.n
- Вспомогательная служба должна иметь все те же команды start/stop/restart как и обычная служба
- Основная и вспомогательная службы должны выполняться от имен одно и того же пользователя, тогда с правами доступа к сетевому диску не будет проблем.Если основная служба будет запущена от LOCALSYSTEM или подобного пользователя, то будут проблемы с доступом к сетевому диску.
Вариант второй. Данный вариант более интересный. Использование его на свой страх и риск. (Я испытал на XP и Server 2008 R2 x64)nnДля этого хака вам нужен Sysinternals SuitennШаг первый: Откройте cmd.exe с повышенными привилегиями то есть (Запуск от имени администратора)nnШаг два: Используйте команду PsExec.exe: Перейдите к папке, содержащей SysinternalsSuite и выполните следующую команду n
n
psexec -i -s cmd.exe
n вы сейчас с правами
n
n
nt authority\system
nn и вы можете проверить это набрав
n
n
whoami
nnОпция
-i
необходима потому, что для отображения дисков нужно взаимодействовать с пользователемnnШаг третий: Создайте постоянный подключенный диск в качестве учетной записи SYSTEM с помощью следующей команды n
n
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]