Установка службы Windows на удаленной машине с использованием данного имени пользователя - PullRequest
13 голосов
/ 21 июля 2009

Каков наилучший способ установки службы Windows, написанной на C # (стандартным способом), на удаленную машину, где мне нужно указать имя пользователя и пароль, с которыми она должна работать?

Я собираюсь запустить его из MSBuild как часть интеграционных тестов.

РЕДАКТИРОВАТЬ: у меня нет MSI, и я не хочу создавать его.

Ответы [ 4 ]

26 голосов
/ 21 июля 2009

Вы можете использовать команду SC .

sc.exe \\remotecomputer create newservice binpath= C:\Windows\System32\Newserv.exe start= auto obj= DOMAIN\username password= pwd

(обратите внимание, что пробелы после знака равенства важны)

Creates a service entry in the registry and Service Database.
SYNTAX: 
sc create [service name] [binPath= ] <option1> <option2>...
CREATE OPTIONS:
NOTE: The option name includes the equal sign.
 type= <own|share|interact|kernel|filesys|rec>
       (default = own)
 start= <boot|system|auto|demand|disabled>
       (default = demand)
 error= <normal|severe|critical|ignore>
       (default = normal)
 binPath= <BinaryPathName>
 group= <LoadOrderGroup>
 tag= <yes|no>
 depend= <Dependencies(separated by / (forward slash))>
 obj= <AccountName|ObjectName>
       (default = LocalSystem)
 DisplayName= <display name>
 password= <password> 
1 голос
/ 21 июля 2009

Installutil, вызванный из WMI, вызванный из Powershell, - один из способов.

0 голосов
/ 19 июня 2012

Возможно, стоит проверить написанную мной утилиту, которая позволяет устанавливать / удалять / запускать / останавливать службы Windows на локальном или удаленном компьютере. Если у вас есть функция, которую вам нужно добавить, дайте мне знать (комментарии / проблемы с GitHub или PM, и я с удовольствием приму).

ServiceConfigurator на GitHub

Как подсказывает @Raj More, он использует WMI, вызванный из .NET.

0 голосов
/ 21 июля 2009

Мы привыкли использовать PsExec , чтобы делать все на удаленной машине. В это время я видел другое решение под названием PowerShell Remoting , но не пробовал сам.

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