Удаленный доступ к файлам в Windows с помощью службы Windows - PullRequest
1 голос
/ 24 ноября 2011

У меня есть служба Windows, которая выполняет файл .bat. Этот .bat файл выполняет некоторый код Sava, который читает информацию о некоторых файлах. Файлы, к которым мне нужно получить доступ, находятся не на том же компьютере, на котором запущена служба. Поэтому я должен получить к ним доступ, используя отображение типа G:\.

Даже если файлы существуют на G:\, когда я запускаю службу, Файл exists() и Файл canRead() всегда возвращают false.

Если я выполню .bat вручную, все отлично работает, но мне нужно выполнить его с помощью службы.

Служба запущена с пользователем, у которого есть права на чтение всех файлов в этом сопоставлении G:\.

Кто-нибудь знает, что может быть не так? Почему я не могу получить доступ к этим удаленным файлам при работе в качестве службы Windows?

ОС, о которой идет речь, Windows XP.

Ответы [ 2 ]

0 голосов
/ 25 ноября 2011

Сопоставления дисков не распределяются между сеансами, а сервисные сеансы не восстанавливаются сопоставления дисков автоматически, как это делают интерактивные сеансы.Вы должны поместить команду net use в командный файл, чтобы явно установить сопоставление дисков в сеансе обслуживания.

0 голосов
/ 24 ноября 2011

Проблема обычно заключается в том, что пользователь, запустивший службу, не имеет того же диска G: и такого же доступа.

Я предлагаю вам войти в систему как пользователь, запустивший службу, и посмотреть, что видит этот пользователь.

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