Проблема с настройкой параметров входа в систему ChangeServiceConfig

StackOverflow https://stackoverflow.com/questions/155695

  •  03-07-2019
  •  | 
  •  

Вопрос

У меня возникла эта странная проблема - я звоню ChangeServiceConfig во вновь установленной службе (I CreateService это я сам), чтобы предоставить учетные данные для входа в систему, но хотя функция завершается успешно (возвращает TRUE), если я пытаюсь запустить службу, она завершается с ошибкой 1069 (сбой входа в систему).Если я захожу в диспетчер служб и вручную изменяю учетные данные (я вижу, что имя пользователя правильное, но, конечно, не вижу пароля), тогда все в порядке, и все запускается нормально.

Сам вызов тривиален:

ChangeServiceConfig(hService, SERVICE_NO_CHANGE, SERVICE_NO_CHANGE, SERVICE_NO_CHANGE, NULL, NULL, NULL, NULL, strUser, strPassword, NULL);

Есть какие-нибудь идеи о том, где мне следует искать и что может быть не так?

Заранее благодарю.

Это было полезно?

Решение

Учетная запись пользователя должна явно иметь права для входа в систему в качестве службы (SeServiceLogonRight).У многих пользователей, включая администраторов компьютеров, этот флаг может быть не установлен, и вам может потребоваться установить его вручную.Панель управления службами Windows на самом деле делает это незаметно, когда вы используете ее для настройки служб.

У меня также есть какие-то смутные воспоминания о необходимости полностью указать имя пользователя.Это должно быть в DOMAIN\Username формат - если это локальная учетная запись, вам необходимо указать .\Username или узнайте название машины и используйте MACHINENAME\Username

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top