webentwicklung-frage-antwort-db.com.de

So legen Sie den Benutzernamen und das Kennwort für den Windows-Dienst über die Befehlszeile fest

Mit dem Befehl sc können wir Windows-Dienste abfragen, starten und stoppen.
Zum Beispiel:

sc query "windows service name"

Der Befehl sc config ändert die Konfiguration des Dienstes, aber ich weiß nicht, wie ich ihn verwenden soll.

Könnte mir jemand sagen, wie wir den Benutzernamen und das Passwort für einen Windows-Dienst festlegen können?

36

Das funktioniert:

sc.exe config "[servicename]" obj= "[.\username]" password= "[password]"

Wobei jedes der [in eckige Klammern eingeschlossenen] Elemente durch die wahren Argumente ersetzt wird. (Behalten Sie die Anführungszeichen bei, aber nicht die Klammern.)

Denken Sie daran, dass:

  • Der Abstand im obigen Beispiel ist wichtig. obj= "foo" ist richtig; obj="foo" ist nicht.
  • '.' Wenn es sich um einen Alias ​​für den lokalen Computer handelt, können Sie dort eine Domäne (oder den Namen Ihres lokalen Computers) angeben.
  • Kennwörter werden erst nach dem Start des Dienstes überprüft
  • Geben Sie Ihre Parameter wie oben an. Man kann manchmal ohne Anführungszeichen auskommen, aber viel Glück.
73
Andrew Ferrier

In PowerShell ist der Befehl "sc" ein Alias ​​für das Cmdlet "Set-Content". Sie können dies mithilfe der folgenden Syntax umgehen:

sc.exe config Service obj= user password= pass

Wenn Sie die EXE-Erweiterung angeben, umgeht PowerShell die Alias-Suche.

HTH