Problèmes de création de service à l'aide de sc.exe

15

J'ai cette commande pour créer un service:

sc create svnserve binpath="\"C:\Program Files (x86)\Subversion\bin\svnserve.exe\" --service --root C:\SVNRoot" displayname="Subversion" depend=tcpip start=auto obj="NT AUTHORITY\LocalService"

Malheureusement, cela ne semble pas fonctionner, même si la syntaxe est correcte. Lorsque je l'exécute, j'obtiens les instructions d'utilisation (ce qui, je suppose, est un moyen de me dire que j'ai fourni des arguments incorrects, bien que je ne sache pas quel argument incorrect j'aurais pu fournir).

Quelqu'un peut-il m'aider à sortir de ma difficulté? Merci!

Tola Odejayi
la source

Réponses:

26

Votre syntaxe est en fait incorrecte, mais vous serez pardonné de l'avoir manquée.

Du texte d'aide pour sc create:

NOTE: The option name includes the equal sign.

Ce qui n'est pas immédiatement évident, c'est que les options doivent être spécifiées avec un espace entre le nom de l'option et la valeur.

Incorrect:

displayname="Subversion"

Correct (notez l'espace après =):

displayname= "Subversion"

Votre commande doit fonctionner correctement en conséquence, c'est-à-dire:

sc create svnserve binpath= "\"C:\Program Files (x86)\Subversion\bin\svnserve.exe\" --service --root C:\SVNRoot" displayname= "Subversion" depend= tcpip start= auto obj= "NT AUTHORITY\LocalService"
ThatGraemeGuy
la source
A voté votre réponse comme réponse, car elle était plus détaillée. Merci!
Tola Odejayi
Cela ne semble plus être un problème dans Windows 10. Cela semble fonctionner pour moi, si quelqu'un d'autre veut le vérifier.
Joel McBeth
Tu m'as sauvé la journée!
QtRoS
15

vous avez besoin d'espaces après =

displayname = "Subversion Server" depend = Tcpip start = auto

evg345
la source
+1 - La syntaxe sc confond les nouveaux utilisateurs avec le besoin d'espaces après les arguments.
Evan Anderson
2
Je l'utilise depuis des années et ça me fait toujours trébucher de temps en temps. :-(
ThatGraemeGuy