2009-06-03 4 views
0

Ich baute einen Testdienst, der eine Nachricht in eine lokale Datei schreibt. Mir ist aufgefallen, dass die Eigenschaft "Eigentümer" der Datei immer "Administrator" ist, was gleich ist, wenn das Konto "Lokales System" verwendet wird. Aber ich habe die Einstellung "Anmelden als" in meinen persönlichen Account im Service Manager geändert.Wie kann ein Windows-Dienst für einen bestimmten Benutzer erstellt werden?

Was kann ich tun, damit der Dienst auf einem angegebenen Konto funktioniert?

Antwort

0

Ich bin nicht sicher, wie es geht, aber Sie sollten den Benutzer auch auf die Option "Als Dienst ausführen" festlegen. Überprüfen Sie die MSDN-API für Details

0

Die Einstellung "Anmelden als" sollte tun, was Sie wollen.

Könnte es sein, dass Sie die Datei nicht erstellt haben, nachdem Sie das Anmeldekonto geändert haben? Wenn Sie die Datei überschreiben, wird der Eigentümer wahrscheinlich nicht ändern.

Ich bin mir nicht sicher, ob es ratsam ist, den Dienst als normaler Benutzer anzumelden. Der Benutzer benötigt das Recht "Als Dienst anmelden". Sie könnten das haben, wenn Sie ein Administrator sind, aber ein normaler Benutzer nicht.

+0

Ich löschte die Datei, ich glaube, die Datei wird neu vom Dienst erstellt. – trudger

-1

Sie können dies tun, indem Sie ein WMI-Skript erstellen, um die Diensteinstellungen einzurichten.

Sie können, soweit ich weiß, den Benutzer, den der Dienst automatisch verwenden wird, nicht fest codieren.

+0

Nein, ich möchte die Diensteinstellungen nicht ändern. Der Dienst wird bereits von meinem persönlichen Konto ausgeführt. Was ich frage ist, dass, obwohl der Dienst unter meinem persönlichen Konto läuft, die von ihm generierten Dateien "im Besitz" von "Administrator" sind. Sie können es unter "Dateieigenschaften-> Detail-> Besitzer" sehen. Ich verstehe nicht, warum der Besitzer nicht mein Konto ist. – trudger

0

Was soll ich tun, damit der Dienst auf einem angegebenen Konto funktioniert?

Sie tun genau das gleiche, aber geben Sie dieses spezielle Konto im Service Control Manager an.

Oder meinen Sie, dass der Dienst nur für einen bestimmten Benutzer ausgeführt wird?