#c# #windows-services
#c# #windows-services
Вопрос:
У меня есть служба Windows, работающая как локальная система, которая будет искать некоторые файлы / папки в указанных расположениях.
Проблема в том, что когда я указываю путь к общей папке в сети, он возвращает «Путь не найден»
я установил
serviceProcessInstaller1.Account = ServiceAccount.LocalSystem;
но я попытался, ServiceAccount.NetworkService
установив UserName
и Password
используя this.Context.Parameters[key].ToString()
на данный момент ничего не происходит
для ServiceAccount.LocalSystem
если я установлю свойство «Войти» через «Services.msc», оно будет работать нормально. но нужно, чтобы это было достигнуто с помощью кода.
Ответ №1:
Вам необходимо запустить свою службу под учетной записью пользователя, которая имеет права на сетевые тома. Обычно это означает одну из учетных записей вашего домена. Ни одна из встроенных учетных записей службы не будет иметь таких прав.
Комментарии:
1. к тому, что сказал Дэвид. Если компьютеры находятся в одном домене, настройте учетную запись службы, которая предоставляет вам разрешение, и настройте службу для запуска от имени этой учетной записи. Почему вам нужно достичь этой конфигурации с помощью кода?
2. @David. я согласен с вами. но есть ли какой-либо способ получить данные учетной записи пользователя, вошедшего в систему, и установить эту информацию с помощью кода. мой пользователь (ы) имеет право на сетевые тома
3. @Khepri. пользователь может не знать информацию об учетной записи службы. поэтому необходимо установить это с помощью кода. и конечному пользователю просто нужно установить службу.
4. @binil вы не можете получить пароль вошедшего в систему пользователя
5. @David есть какие-нибудь ссылки для использования
ServiceAccount.NetworkService
. я много искал. но не нашел никаких примеров.