У меня есть сервер Subversion, работающий как резидентная служба на машине с Windows XP Pro. Этой службе необходим доступ к защищенному сетевому файловому ресурсу, поэтому я использовал вкладку Services-> Properties-> Log On, чтобы сообщить службе, что она запускается от имени пользователя, имеющего доступ к целевому файловому ресурсу. Это работает нормально, пока машина не перезагрузится, когда служба не запустится автоматически.
Я могу запустить его вручную, войдя в систему, вернувшись на вкладку Службы-> Свойства-> Вход в систему и повторно настроив явные учетные данные.
Сделайте службу зависимой от какой-либо другой сетевой службы. Так что он не запустится, пока не будет доступа к сети.
что-то вроде:
sc config YourService depend= rpcss
Можете ли вы увидеть какие-либо сообщения об ошибках в средстве просмотра событий, когда ваша служба пытается запустить (в разделе «Приложение», «Система» или «Безопасность»)?
У вас в services.msc установлен автоматический режим, верно?
У меня похожая проблема; служба работает вполне успешно, используя учетную запись службы, созданную в AD. Мне нужно провести некоторое обслуживание службы, поэтому выключите ее, а затем, когда я снова запускаю ее, она выходит из строя с ошибкой «Служба не была запущена из-за ошибки входа в систему». Повторный ввод учетных данных в оснастке services.msc устраняет проблему до следующего раза.
Есть ли способ заставить пароль «прилипнуть»?
Может быть, для этого требуется, чтобы учетная запись, используемая для службы, имела право «Вход в систему как служба»? Видеть Вот.
Log On
пользователь. В этот момент соответствующие права должны быть предоставлены автоматически, давая вам права на запуск вашего сервиса. Однако эти разрешения не закреплены, и вам придется повторять это каждый раз при перезапуске сервера.Administrative Tools / Local Security Policy / Local Policies / User Rights Assignment
для добавления пользователя в «Войти как услуга». Это должно предоставить данному пользователю постоянные права на перезапуск службы Windows.