Служба Windows не может получить доступ к сетевой папке - PullRequest
15 голосов
/ 02 сентября 2010

На моем локальном компьютере запущена служба Windows. Он настроен для работы под NT AUTHORITY \ NETWORK SERVICE. Программа получает доступ к сетевому общему диску на компьютере в той же подсети. В этом общем каталоге Все настроены на Полный контроль.

Я получаю False для File.Exists, но файл существует. Я уверен, что это проблема с разрешением. Я забыл что-нибудь? Обратите внимание, что компьютер с общим диском не находится в домене.

Ответы [ 3 ]

19 голосов
/ 08 сентября 2010

Решение было найдено здесь: https://serverfault.com/questions/177139/windows-service-cant-access-network-share

Основная проблема заключается в том, что машина с общим диском не находится в домене. Чтобы заставить это работать, вам нужно настроить службу Windows для работы от имени конкретного пользователя, а затем вам нужно будет создать идентичного пользователя в удаленной системе с тем же паролем. Тогда это может сработать.

Проблема связана с тем, что для входа в систему на компьютере, не входящем в домен, необходимо выполнить вход на этот компьютер с использованием учетной записи, которая существует на этом компьютере. Учетная запись компьютера на этом локальном компьютере определенно не будет существовать. Создав идентичного пользователя с идентичным паролем, вы сможете получить логин для работы. "

-sysadmin1138

Я создал одинаковые учетные записи на обеих машинах, и служебная учетная запись смогла получить доступ к общему диску. Наличие серверов в одном домене - лучшее решение, поэтому я работаю над этим, но пока что это будет работать.

7 голосов
/ 18 июня 2014

Брайан Т был прав.Но я бы хотел кое-что добавить.У нас была эта проблема, хотя служба работала на том же DOMAIN \ User.Наш сервис пытался записать файл в общую папку / диск, и он был настроен в config.xml следующим образом: I: /path/to/the/file/to/write.

Но когда мыизменив конфигурацию, чтобы использовать IP-адрес сети вместо буквы диска, нам удалось решить проблему.Однако синтаксис немного изменился:

\\ xxx.xxx.xx.xx \ path \ to \ the \ folder \ to \ write

Надеюсь, это поможет всем, кто еще не решилпроблема

2 голосов
/ 02 сентября 2010

Установка разрешений для общего ресурса недостаточна. Также установите соответствующие разрешения NTFS, тогда он будет работать. Каждый Полный доступ к общему ресурсу означает, что каждый может получить доступ через сеть к корню общего ресурса, но с тех пор права NTFS используются для определения того, что разрешено, а что нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...