AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Service-Programm unter anderem Benutzer laufen lassen
Thema durchsuchen
Ansicht
Themen-Optionen

Service-Programm unter anderem Benutzer laufen lassen

Ein Thema von n0b0dy · begonnen am 23. Sep 2006 · letzter Beitrag vom 25. Sep 2006
Antwort Antwort
n0b0dy

Registriert seit: 12. Sep 2005
Ort: Hessen
268 Beiträge
 
#1

Service-Programm unter anderem Benutzer laufen lassen

  Alt 23. Sep 2006, 13:52
hi,

man kann ja in Windows generell Dienste auch unter anderen Benutzern laufen lassen, als unter dem System-Benutzer.
Mich würde nun interessieren wie meinen schon laufenden Dienst praktisch "ummelden" kann. Also dem Dienst wird ein User und Passwort zugespielt, und dieser sollte Stoppen, und dann wieder unter dem Anderen Benutzer starten (weil ohne Unterbrechung wird das ja kaum gehen). Habe hier im Forum leider nichts passendes gefunden. Kann mir jemand helfen?


Grüße
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Service-Programm unter anderem Benutzer laufen lassen

  Alt 23. Sep 2006, 14:13
Hallo,

Zitat von n0b0dy:
Also dem Dienst wird ein User und Passwort zugespielt, und dieser sollte Stoppen, und dann wieder unter dem Anderen Benutzer starten (weil ohne Unterbrechung wird das ja kaum gehen).
nicht dein Dienst erledigt das, sondern der Service Control Manager. Wenn du schon einen Dienst implementiert hast, dann kennst du die API Calls, die du brauchst um dir ein Handle zu besorgen und den Dienst zu starten und zu stoppen. Zusäzlich musst du dir ChangeServiceConfig() ansehen. Diesem call kannst du den Namen des Kontos und ein Password übergeben, welches der SCM in seine Datenbank einträgt. Wenn du nur vorübergehend umschalten willst, dann wird es haarig, da du mit QueryServiceConfig() nur den account name ermitteln kannst. Grundsätzlich kann ich mir kaum einen Grund vorstellen, warum du überhaupt den account name wechseln müsstest. Im Prinzip gibt man dem Dienst einen der üblichen system accounts und gut ist.

Grüße vom marabu
  Mit Zitat antworten Zitat
n0b0dy

Registriert seit: 12. Sep 2005
Ort: Hessen
268 Beiträge
 
#3

Re: Service-Programm unter anderem Benutzer laufen lassen

  Alt 23. Sep 2006, 14:28
Ja WOLLEN tu ich das nicht so direkt^^
Es ist halt so, dass das ein Webserver gibt, der als Dienst laufen soll und unter Anderem andere Programme starten soll, oder einige anderen Dinge erledigen soll, wo ich Administrator-Rechte benötige. Das mit den zu startenden Programmen kann ich ja noch umgehen, indem ich das Programm dann unter dem anderen User starte, also sowas wie RunAs. Oder wenn ich Netzwerksachen machen will, wo der Dienst auf andere Rechner zugreifen soll, auf denen man Administrator-Rechte braucht. Hab kA wie das gehen soll, wenn das unter System-Rechten läuft.

Ich bin mir ja auch noch nicht so sicher, wie das alles funktionierne soll.
  Mit Zitat antworten Zitat
n0b0dy

Registriert seit: 12. Sep 2005
Ort: Hessen
268 Beiträge
 
#4

Re: Service-Programm unter anderem Benutzer laufen lassen

  Alt 25. Sep 2006, 17:10
erstma *push*

und dann:^^
so nun hat sich schon das erste Problem ergeben. Da das Programm ein Dienst ist, und unter Systemrechten läuft, funktioniert irgenwdie meine Screenshot funktion nicht mehr. Das Bild bleibt einfach weiß.Die Screenshot funktion ähnelt der von sakura (hier) sehr.
Wie schaff ich das nun, dass ich gewisse Dinge, unter einem anderen benutzer durchführen kann?


Grüße


[EDIT]
ich glaube das ganze hat sich mal wieder durch diesen Thread erledigt , odeR? Ich werde sofort testen

Trotzdem danke. Aber manches findet man halt erst, wenn man eigentlich schon wieder nach was anderem sucht



[EDIT#2]
oje. ich habe so die befürchtung, dass das mit einem Dienst nicht klappt (
Jedenfalls bemerke ich bei mir keine Veränderungen (bsp: Screenshot). Demo von Luckie funzt.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Service-Programm unter anderem Benutzer laufen lassen

  Alt 25. Sep 2006, 18:52
Man sollte sich auch mal mit der Materie vertraut machen und nicht so einfach drauflos programmieren. Siehe hier: http://www.michael-puff.de/Developer...Stations.shtml Der Dienst lauft in einer anderen WindowsStation auf einem anderen Desktop.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz