Programm aus Windows Dienst starten

06/08/2010 - 12:13 von bP | Report spam
Hallo Leute,

ich habe einen Windows Service geschrieben, welcher irgendein Programm
unter einer bestimmten Benutzerkennung starten soll. Der Windows
Dienst ist installiert und als LokalesSystem angemeldet.

Probiert habe ich:

- Process.start(string file, string user, SecureString pw, string
domain) -> Exception WIn32 Zugriff verweigert

- CreateProcessWithLogonW(...) -> Exception Error #5

- LogonUser(...), CreateProcessAsUser(...) ->Exception Error #1314

Process.Start(...) und CreateProcessWithLogonW(...) startet aus einem
"normalen" Programm, welches kein Windows Dienst ist ohne Probleme das
entsprechende Programm (wird auch unter der angegebenen
Benutzerkennung ausgeführt)

LogonUser(...), CreateProcessAsUser(...) funktioniert aus einem
"normalen" Programm nicht.

Hat jemand eine Idee wie sich dieses Problem lösen làsst?
 

Lesen sie die antworten

#1 Thomas Scheidegger
07/08/2010 - 12:21 | Warnen spam
Hallo bP

ich habe einen Windows Service geschrieben, welcher irgendein Programm
unter einer bestimmten Benutzerkennung starten soll.



naja,
bist du wirklich sicher dass du diesen Ansatz so brauchst?
Denn da spielen sehr viele OS-versionsabhàngige Sicherheitsmechanismen,
Einschrànkungen und zahlreiche Systemeinstellungen (wie Policies),
sind ggf je nach Kundeninstallation ganz anders!

Der Windows
Dienst ist installiert und als LokalesSystem angemeldet.
- Process.start(string file, string user, SecureString pw, string
domain) -> Exception WIn32 Zugriff verweigert
- CreateProcessWithLogonW(...) -> Exception Error #5
- LogonUser(...), CreateProcessAsUser(...) ->Exception Error #1314




Bsp PInvoke, siehe dort auch Kommentare
http://blogs.msdn.com/b/alejacma/ar...n-net.aspx

1314 ist: ERROR_PRIVILEGE_NOT_HELD,
also suche mal wie
http://www.google.com/search?q=ERRO...er+service
http://www.google.com/search?q=%2B1...er+service




Thomas Scheidegger - 'NETMaster'
http://dnetmaster.net/

Ähnliche fragen