Мне отобразили сетевую совместно используемую папку на букву диска, которая доступна от Windows Explorer от командной строки, а также из моего приложения WinForms без проблемы. Это также доступно от моей службы Windows с помощью пути UNC.
Однако, когда я пытаюсь получить доступ к этому сетевому местоположению с помощью буквы сетевого диска от службы Windows, сбоев доступа. Служба Windows настроена для использования моих персональных учетных данных учетной записи "Входа в систему", которые являются тем же во всех вышеупомянутых случаях. Я - администратор.
Много сайтов для клиентов используют буквы дисков для сетевых ресурсов, и я не могу всегда управлять этим и вынуждать их указать пути UNC вместо этого. Я должен смочь к долям сети доступа с помощью букв дисков от службы Windows.
Что я должен сделать для установки моей службы Windows, так, чтобы она могла совместно используемые папки сети доступа, которые отображаются на буквах дисков? Моя служба Windows записана в C#.
Извините; вы не можете получить доступ к подключенным дискам из служб Windows . Как предложил Шенг, вы можете использовать процесс пользовательского интерфейса, чтобы получить путь UNC с подключенного диска, а затем передать его службе, которая должна использовать путь UNC.
подключенные диски относятся к объектам сеанса. Таким образом, каждый интерактивный сеанс имеет свое собственное сопоставление, а сеанс обслуживания имеет другое сопоставление дисков. Чтобы получить правильный UNC-путь подключенного диска, вам необходимо вызвать WNetGetConnection в правильном сеансе.
Вы можете использовать любые методы межсессионной связи, чтобы инициировать запрос и получить результат в службе, например WCF, именованный канал, сокеты и т. Д.