Установите службу Windows для запуска под учетными данными пользователя с помощью ServiceAccount.User, но не запрашивайте - PullRequest
4 голосов
/ 01 июня 2011

Я создал службу Windows на C # и сопровождающий ее проект установки Visual Studio, который создает установщик.Служба успешно устанавливается.

Когда я выбираю любое значение из enum ServiceAccount, кроме ServiceAccount.User, служба устанавливается без запроса соответствующего встроенного пользователя.После этого я фактически устанавливаю службу под учетными данными текущего пользователя .Когда я указываю ServiceAccount.User, я получаю запрос на ввод имени пользователя и пароля во время установки.Что мне нужно сделать, так это найти способ установить службу с учетными данными пользователя, который запускает установку, без запроса пароля.

Возможно ли это вообще?Я готов прибегнуть к любым мерам, необходимым (например, к нагрузке P / Invoke), чтобы выполнить работу.

Ответы [ 2 ]

5 голосов
/ 01 июня 2011

Вы не можете, нет способа извлечь пароль в виде открытого текста, если что-то не настроено неправильно, и вам понадобится это для настройки службы.См. этот похожий вопрос .

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

1 голос
/ 01 июня 2011

Это не будет возможно, как предлагают другие. Даже если из диспетчера служб вы хотите запустить службу под какой-либо другой учетной записью (даже если это текущая учетная запись пользователя), он попросит вас снова ввести пароль.

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