Как создать учетную запись службы Windows программно - PullRequest
0 голосов
/ 22 января 2012

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

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

К сожалению, я понятия не имею, как этого добиться из кода (C #). Тем не менее, я знаю, что необходимо выполнить следующие шаги:

  • Создать аккаунт
  • Запретить вход в систему через консоль
  • Предоставить вход в систему как сервис.
  • Добавить учетную запись в группу локальных администраторов на ПК

Моя служба должна быть установлена ​​и запущена во всех операционных системах ПК с Windows, начиная с Windows XP SP3 и выше.

Вопрос : Какие инструменты командной строки доступны для этой цели (я очень хорошо могу назвать эти инструменты командной строки из кода)?

Кроме того, любые важные ссылки, фрагменты кода или скрипты будут очень благодарны!

1 Ответ

0 голосов
/ 22 января 2012

Если вам нужна только одна команда, вы, вероятно, можете выполнить:

net user /ADD "newuser" "Pass phrase" /passwordchg:no

Однако в прошлом я рассматривал «предоставить вход в качестве службы», и для этого мне пришлось загрузить дополнительный .exe-файл из пакета ресурсов Windows Server. Это может быть проблемой, так как вам нужно будет распространять .exe.

Если кто-то не предложит лучший способ, который использует только встроенные .exes, я бы попробовал сделать это с одним из:

  • Powershell
  • VBscript
...