4

Как правило, службы Windows не могут получить доступ к подключенным дискам, и вместо этого вы должны использовать UNC-пути.

Я убежден, что есть способ обойти это, чтобы служба Windows могла получить доступ к подключенному диску, но я нигде не могу его найти.

Мой конкретный случай - я запускаю Tomcat7 на сервере Windows 2008.

2 ответа2

9

Альтернативой использованию сопоставленных каталогов или путей UNC является использование символических ссылок.

Символические ссылки NTFS (символические ссылки) могут ссылаться на путь UNC, но отличаются от ярлыков тем, что перенаправление в запрошенное местоположение отсутствует. Если вы создадите символическую ссылку, как показано ниже ...

mklink /D C:\myLink \\127.0.0.1\c$

... тогда при открытии C:\myLink адрес папки, в которой вы находитесь, будет C:\myLink а не \\127.0.0.1\c$ , что вы получите, если бы myLink был ярлыком, а не символическая. Это важно, если ваше приложение имеет проблемы совместимости с путями UNC.

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

1

Я нашел решение этой проблемы, которое, кажется, работает хорошо: https://stackoverflow.com/a/7867064/669645

Шаги, которые я предпринял:

  1. Создайте файл bat, содержащий команду net use z: \servername\sharedfolder /persistent:yes
  2. Создать запланированное задание
    • Установить пользователя как "Система"
    • Добавить действие для запуска файла bat
  3. Запустите задачу вручную (не нужно устанавливать расписание)

Примечание. Диск будет отображаться как « Отключенный сетевой диск (Z:) », но все равно будет доступен для всех вошедших в систему пользователей, а также для служб Windows.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .