ÄnderungServiceConfig -Problemeinstellung Anmeldeinformationen Anmeldeinformationen
-
03-07-2019 - |
Frage
Ich habe dieses seltsame Problem - ich rufe an ChangeServiceConfig
auf einem neu installierten Dienst (i CreateService
Es selbst), die Anmeldeinformationen anmelden, aber während die Funktion erfolgreich ist (zurückgegeben), fällt es bei einem 1069 -fehlenden (Anmeldung fehlgeschlagen), wenn ich versuche, den Dienst zu starten. Wenn ich in den Service Manager gehe und Anmeldeinformationen von Hand ändere (ich kann sehen, dass der Benutzername korrekt ist, aber das Passwort natürlich nicht sehen kann), dann ist alles in Ordnung und es startet in Ordnung.
Der Anruf selbst ist trivial:
ChangeServiceConfig(hService, SERVICE_NO_CHANGE, SERVICE_NO_CHANGE, SERVICE_NO_CHANGE, NULL, NULL, NULL, NULL, strUser, strPassword, NULL);
Irgendwelche Ideen, wo ich suchen sollte und was falsch sein könnte?
Danke im Voraus.
Lösung
Das Benutzerkonto muss explizit Recht haben, sich als Dienst anzumelden (DienstSeServiceLogonRight
). Viele Benutzer, einschließlich Computeradministratoren, haben möglicherweise nicht dieses Flag -Set, und Sie müssen es möglicherweise manuell einstellen. Das Windows Services Control Panel macht dies tatsächlich still hinter den Kulissen, wenn Sie es zum Konfigurieren von Diensten verwenden.
Ich habe auch einige vage neblige Erinnerungen daran, dass ich den Benutzernamen vollständig qualifizieren muss. Es muss in sein DOMAIN\Username
Format - Wenn es sich um ein lokales Konto handelt, müssen Sie angeben .\Username
oder finden Sie den Maschinennamen und verwenden Sie MACHINENAME\Username