Mit SC.exe zum set service-Anmeldeinformationen-Kennwort scheitert
Ich weiß, diese Frage wurde gebeten, in der Vergangenheit, aber eine befriedigende Antwort wurde nicht zur Verfügung gestellt.
Ich bin mit dem Befehl SC config die Anmeldeinformationen für ein service.
SC.exe config "SERVICE NAME" obj= "domain\user" password= "password"
Diese erfolgreich abgeschlossen, aber wenn ich den Dienst starten, schlägt fehl
zum login ausführen.
[NET START "service name"
]
Wenn ich manuell aktualisieren, NUR das Passwort aus der Dienstleistungen.msc, dann
wenn ich den Dienst starten, funktioniert es einwandfrei.
Habe ich Hunderte von Servern zu aktualisieren diese änderung in der Mitte von einer Bereitstellung
so ist ein manueller Eingriff ist NICHT eine option.
Ich habe versucht mit der config update das login-Konto und dann noch eine config-Befehl für das Passwort.
Aller Konten, die SC.exe
funktioniert nicht für Passwörter und Microsoft hat KEINE Hilfe.
IDEEN?
- Hat das Passwort keine Sonderzeichen enthalten, wie (,),',",$,>,<,^,?. Wenn dem so ist, müssen Sie möglicherweise, Ihnen zu entkommen.
- Ich war in der Lage, zu verwenden sc.exe Passwort viele Male. Sie müssen nur das Kennwort codiert, righ. Andere spezielle Zeichen außer '@' und '&'? E. g. '%' benötigt eine spezielle Behandlungen: stackoverflow.com/questions/10296162/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Neben das beenden des Dienstes bevor Sie die änderungen vornehmen, und erlauben Sie dem Benutzer die Berechtigung zum anmelden als Dienst, die ich auch hatte, um die
type= own
parameter, sonst wäre es fehl mit:Also das ist der Befehl, der funktioniert hat:
Er arbeitete sogar mit Sonderzeichen im Passwort, da hatte ich das Passwort zwischen doppelten Klammern.
Wenn Sie einen Dienst konfigurieren, der zur Ausführung unter einem bestimmten Konto über den normalen Weg aus der service-Eigenschaften-Fenster automatisch gewährt auf das Konto anmelden als Dienst rechts. Wenn Sie sc.exe Sie müssen auch gewähren Sie dem Benutzer das anmelden als service-Anspruch.
Protokoll Auf Als Dienst Rechts
Hatte ich dieses Problem. Dank ST ' s Kommentar auf den ursprünglichen Beitrag, ich erkannte, ich brauchte, um zu erforschen, wie, um geben Sie das Kennwort ein. In meinem Fall benötigte ich die doppelte bis das Prozent-Zeichen (
%%
) in das Kennwort.Den link ST vorgesehen ist hilfreich: Escaping von Sonderzeichen in cmd.
Vor dem Neustart von Diensten, sollten Sie gewähren Ihrem Benutzer die Berechtigung zur Anmeldung als Dienst.
Leider keine Möglichkeit, es zu tun, von der Befehl-Linie mit Standard-windows-tools, aber Sie können kleine zusätzliche util ntright.exe von Windows Server 2003 Resource Kit Tools.
Laden Sie es von https://www.microsoft.com/en-us/download/details.aspx?id=17657
Nach der installation erhalten Sie eine Menge von Werkzeugen in C:\Program Files (x86)\Windows Resource Kits\Tools (oder in Programme, die auf 32-bit Maschine).
Müssen Sie ntrights.exe. Sie können kopieren Sie es, und führen Sie von jedem Ort auf einen anderen host.
Gewähren Ihrem Benutzer die erforderliche Berechtigung, sollten Sie zu Ihrem Skript hinzufügen:
Danach können Sie erfolgreich starten Sie die Dienste mit einem neuen Benutzer.
Auch gibt es eine option zum ausführen ntrights.exe auf dem remote host:
Dieses tool hilft mir sehr, wenn ich neu konfigurieren müssen eine Vielzahl von hosts aus der Ferne.
Versuchen, den Dienst zu beenden, bevor Sie das Passwort:
Führen Sie vor diesem problem, während Sie ein paar Powershell-scripting und das Problem in meinem Fall war die Sonderzeichen im Passwort.
Habe es funktioniert, indem Sie speichern Sie das Passwort in einer Variablen mit doppelten Anführungszeichen um ihn herum:
$servicePassword = "`"passwordWithSpecialCharacters`""
cmd /c sc config myService obj= mydomain\myuser password= $servicePassword
Sonderzeichen sind:
()'"$><^?
Versuchen.
Start-Menü - Typ "local security policy" - ohne die Anführungszeichen. Öffnen Sie die "Lokale Richtlinien" und dann Links-klicken Sie auf "zuweisen von Benutzerrechten". Auf der rechten Seite, rechts-klicken Sie auf "Anmelden als Dienst" und wählen Sie "Eigenschaften". Klicken Sie auf "Benutzer oder Gruppe Hinzufügen" und fügen Sie Ihre Benutzer. Klicken Sie auf OK. Sie müssen möglicherweise den Computer neu starten.
Nach dem hinzufügen können Sie den Benutzer-Namen und Passwort für den Dienst in der cmd.