2008-10-01 7 views
1

J'ai ce problème étrange - J'appelle ChangeServiceConfig sur un service nouvellement installé (I CreateService moi-même) pour fournir les informations d'identification d'ouverture de session, mais tant que la fonction réussit (renvoie TRUE), si je essayez de démarrer le service, il échoue avec un 1069 (l'ouverture de session a échoué). Si je vais dans le gestionnaire de service et modifier les informations d'identification à la main (je peux voir le nom d'utilisateur est correct, mais bien sûr ne peut pas voir le mot de passe), alors tout va bien et ça commence bien.ChangeServiceConfig problème de configuration ouverture de session informations d'identification

L'appel lui-même est trivial:

ChangeServiceConfig(hService, SERVICE_NO_CHANGE, SERVICE_NO_CHANGE, SERVICE_NO_CHANGE, NULL, NULL, NULL, NULL, strUser, strPassword, NULL);

Toutes les idées sur où je devrais regarder et ce qui pourrait se tromper?

Merci d'avance.

Répondre

1

Le compte d'utilisateur doit explicitement avoir le droit de se connecter en tant que service (SeServiceLogonRight). De nombreux utilisateurs, y compris les administrateurs informatiques, n'ont peut-être pas défini ce drapeau et vous devrez peut-être le définir manuellement. Le panneau de configuration des services Windows le fait silencieusement dans les coulisses lorsque vous l'utilisez pour configurer les services.

J'ai également quelques vagues souvenirs de la nécessité de qualifier pleinement le nom d'utilisateur. Il doit être au format DOMAIN\Username - Si c'est un compte local, vous devez spécifier .\Username ou trouver le nom de la machine et utiliser MACHINENAME\Username

+0

Merci. Je pense que je viens de trouver quel est le problème, c'est en fait les droits LOG_ON_AS_SERVICE - http://support.microsoft.com/kb/q132958/, je vais essayer et voir si cela résout. – dennisV

+0

Oui, les droits utilisateur LOG_ON_AS_SERVICE n'ont pas été définis. Je souhaite vraiment que cela a été documenté quelque part dans la documentation CreateService/ChangeServiceConfig avant que je commence à tirer mes cheveux :) – dennisV

Questions connexes