AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programm starten - vor Anmeldung?

Ein Thema von EagleData · begonnen am 5. Jul 2005 · letzter Beitrag vom 5. Jul 2005
Antwort Antwort
Seite 1 von 2  1 2      
EagleData

Registriert seit: 16. Mai 2003
Ort: Leipzig
20 Beiträge
 
Delphi 5 Enterprise
 
#1

Programm starten - vor Anmeldung?

  Alt 5. Jul 2005, 11:44
Hi,

ich hab ein Programm geschrieben, was Temperatursensoren überwacht und Alarm schlägt. Das Programm soll bei uns auf dem Server laufen (Windows Server 2003). Nun will ich es aber so haben, dass wenn jemand den Server neu startet, dass das Programm dann automatisch gestartet wird. Dazu könnte ich es ja einfach in den Autostart packen, geht aber nicht so einfach weil es ja auch gestartet werden muss, wenn sich niemand anmeldet. Die Idee war daher noch, das Programm als Dienst laufen zu lassen. Nur dürfen Dienste Formulare haben? Sonst muss ich sehen das ich den reinen Überwachungsprozess extrahiere und daraus nen Dienst mache.

Hat jemand ne Idee?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Programm starten - vor Anmeldung?

  Alt 5. Jul 2005, 11:47
Dürfen schon, ist nur nicht zu empfehlen. Microsoft rät selber von interaktiven Diensten ab.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EagleData

Registriert seit: 16. Mai 2003
Ort: Leipzig
20 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: Programm starten - vor Anmeldung?

  Alt 5. Jul 2005, 11:52
Dann kann ich mein Programm also einfach als Dienst installieren und es wird automatisch gestartet?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Programm starten - vor Anmeldung?

  Alt 5. Jul 2005, 11:58
Nein, es muss schon als Dienst programmiert sein. Es gibt nur auch interaktive Dienste, die mit dem Desktop in der WinStat des Benutzers kommunizieren können.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#5

Re: Programm starten - vor Anmeldung?

  Alt 5. Jul 2005, 12:05
"mit der WinStat" << was soll das sein?
  Mit Zitat antworten Zitat
Benutzerbild von Catbytes
Catbytes

Registriert seit: 7. Sep 2002
Ort: Heckendalheim
353 Beiträge
 
Delphi XE5 Enterprise
 
#6

Re: Programm starten - vor Anmeldung?

  Alt 5. Jul 2005, 12:14
Ich dachte beim Windows 2003 Server wurde der Start von Diensten _vor_ der Anmeldung deaktiviert.
Catbytes
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#7

Re: Programm starten - vor Anmeldung?

  Alt 5. Jul 2005, 12:14
Zitat von barf00s:
"mit der WinStat" << was soll das sein?
WindowStation (WinSta)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Programm starten - vor Anmeldung?

  Alt 5. Jul 2005, 12:30
Puh. Das ist etwas komplexer. Unter Windows NT / 2000 / XP gibt es so genannte Windows Stations und diese beinhalten Desktops. Genau wie Windows bei der Authenmtifizierung session orientiert vorgeht, geht es auch beim User Interface sessionen orientiert vor mittles Windows Stations. Damit nicht jedes GDI Objekt jedes mal an die Authetifizierung gebunden ist, stellt Windows eine geschütze Umgebung bereit, in dem ein GDI Objekt existieren kann, ohne sich jedes mal authentifizieren zu müssen. Und dies ist eine Windows Station. Der Sicherheitbeschreiber eines Objektes ist dann mit einer Windows Sation verbunden und erlaubt es so seinem Besitzer bestimmte Aspekte seiner Umgebung zu kontrollieren. Zum Beispiel das Erstellen von Fenstern, Menüs und Desktops oder die Zwischenablage einzusehen.
Eine Windows Station ist also so was wie eine Sandbox für Fenster. Wann immer ein Fenster erstellt wird, ist es für immer an diese Windows Station gebunden. Demzufolge können Fenster in anderen Windows Stations nicht auf Fenster in anderen Windows Stationen zugreifen.
Im System gibt es jetzt nur eine interaktive Windows Station für den Benutzer und das ist die WinSta0. In dieser Windows Station befindet sich auch der default Desktop auf dem sich der Benutzer bewegt. Ein Service hat nun weitergehende Rechte als ein Benutzer und läuft demnach in einer anderen Windows Station, die ihm mehr Rechte zu gesteht. Jetzt kann man einen interaktiven Service schreiben, dieser Service hat dann außnahmsweise die Möglichkeit mit der interaktiven Windows Station des Benutzers zu kommunizieren mittels eines Fensters. Und jetzt wird auch das Sicherheitsloch deutlich bei einem interaktiven Service, gelingt es mir Code in den Service einzuschleusen, durch einen BufferOverflow zum Beispiel, wird dieser Code im Sicherheitskontext des Services ausgeführt und das ist potentiell gefährlich.

Dies ist auch die Erklärung warum man zum Beispiel mit FindWindow nicht das Fenster findet, welches erscheint, wenn man unter Windows 2000 Strg+Alt+Entf drückt, es läuft auf einem anderen Desktop. Oder warum es problematisch ist mit EnumWindows in einem Sevice Fenster auf dem Desktop des Benutzers aufzulisten.

Ich hoffe, das war ausführlich und verständlich genug.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EagleData

Registriert seit: 16. Mai 2003
Ort: Leipzig
20 Beiträge
 
Delphi 5 Enterprise
 
#9

Re: Programm starten - vor Anmeldung?

  Alt 5. Jul 2005, 13:00
Ok, ich müsste es also als Dienst programmieren. Würde zur Not auch ohne Form gehen. Problematisch wird nur, das das programm eine Logdatei erstellt. und wenn sich jetzt 2 User am Server anmelden würde der dienst ja 2mal gestartet oder? damit würde ja 2 instanzen auf die logfile zugreifen, was wieder probleme verursacht.
  Mit Zitat antworten Zitat
EagleData

Registriert seit: 16. Mai 2003
Ort: Leipzig
20 Beiträge
 
Delphi 5 Enterprise
 
#10

Re: Programm starten - vor Anmeldung?

  Alt 5. Jul 2005, 13:04
Zitat von Catbytes:
Ich dachte beim Windows 2003 Server wurde der Start von Diensten _vor_ der Anmeldung deaktiviert.
wäre ansich nich das Problem, man könnte es vielleicht auch auf einem der Win2K Server laufen lassen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:01 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