Служба Windows записывает файлы в общий сетевой ресурс - PullRequest
2 голосов
/ 20 мая 2009

У меня запущена служба Windows, которая перемещает файлы из отслеживаемой папки (IO.FileSystemWacher) в общий ресурс UNC в сети.

Сетевой ресурс защищен, но этот ресурс полностью контролирует пользователя Сервиса; несмотря на это у меня возникают проблемы с отсутствием пути к файлу.

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

Идеи

Ответы [ 5 ]

2 голосов
/ 20 мая 2009

Во-первых, проверьте, что путь - это то, что вы думаете.

Чтобы проверить разрешения, вы можете запустить Internet Explorer под именем учетной записи службы (выполнить runas) и затем указать путь в поле URL, чтобы проверить, что учетная запись службы может получить доступ к пути.

2 голосов
/ 20 мая 2009

Проверьте это:

  • Является ли пользователь вашей службы учетной записью домена? (локальная учетная запись не подойдет)
  • Имеет ли пользователь службы NTFS разрешение на запись в общий ресурс UNC? (разрешения на уровне общего ресурса недостаточно, также должно быть разрешение NTFS)
0 голосов
/ 20 мая 2009

Всегда ли FileSystemWatcher не может подключиться к общему ресурсу UNC или это происходит после запуска наблюдателя?

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

0 голосов
/ 20 мая 2009

Как вы получаете доступ к общему ресурсу? Не случайно ли смонтированный каталог? Допустим, \ server1 \ direcotry1 монтируется в z: \ directory1 или что-то в этом роде. Если это так, вы должны убедиться, что пользователь службы «видит» смонтированный каталог. Или перейдите по стандартному UNC-пути (с двойным \).

0 голосов
/ 20 мая 2009

Попробуйте предоставить учетной записи компьютера, на котором запущена служба, доступ к общему ресурсу. Также можно запустить службу под учетной записью домена (которая, очевидно, имеет доступ к общему ресурсу)

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