Служба Windows — исключение несанкционированного доступа

#windows-services

#windows-services

Вопрос:

У меня есть служба Windows, созданная в .NET 4.

Мне нужно получить доступ к файлу с другого сервера, и я получаю исключение:

"UnauthorizedAccessException was caught" - "Access to the path '(path)' is denied."

Если я создам новое приложение Windows Forms, которое обращалось к этому файлу, оно сработает. Служба Windows выполняется от имени локальной системы.

Ответ №1:

Очевидно, у вашей учетной записи компьютера нет разрешений на доступ к удаленному файловому ресурсу. Вы должны предоставить права учетной записи компьютера <DOMAIN><machine_name>$ как на уровне общего доступа к файлам, так и на уровне файловой системы. Для использования разрешений общего доступа fsmgmt.msc , для файловой системы вы можете сделать это с помощью cacls команды. Альтернативным решением является выдача себя за действительную учетную запись пользователя, у которой уже есть разрешение на доступ к этому каталогу.