AGB  ·  Datenschutz  ·  Impressum  







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

Programm starten ohne Benutzer

Ein Thema von Helmi · begonnen am 18. Sep 2020 · letzter Beitrag vom 20. Sep 2020
Antwort Antwort
Benutzerbild von Helmi
Helmi
Online

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#1

Programm starten ohne Benutzer

  Alt 18. Sep 2020, 17:04
Hallo,

ich hab einen Windows-Home-Server (so ein Abklatsch von Windows Server 2003) auf dem ich ein Programm von mir am Laufen habe.
Soweit so gut.

Der Server ist nicht immer aktiv.
Wenn nicht, dann ist er im Standby.

Wenn ich den Server mal wieder neu starte, dann möchte ich, dass das Programm von mir mit gestartet wird.
Nur wird anscheinend kein Benutzer mit gestartet, so dass bislang meine bisherigen Versuche fehlschlugen.

Was hab ich versucht:
  • Autostart vom Benutzer "Administrator"
  • Autostart aller Benutzer
  • geplante Tasks von Windows (Event: Programm-Start bei System-Start)

Dass die Autostarts nicht funktionierten, ist klar, weil kein Benutzer angemeldet ist.
Wieso der Task nicht funktioniert hat, hab ich bislang noch nicht rausgefunden.

Gibt es eine elegantere Möglichkeit?
Vielleicht ein Dienst?
Falls ja, vielleicht hätte jemand ein Beispiel dafür.
Hab bislang noch keinen Dienst programmiert.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
675 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Programm starten ohne Benutzer

  Alt 18. Sep 2020, 17:33
Ein programm wird ja im Benutzerkontext gestartet, versuch es mal mit einem Service
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#3

AW: Programm starten ohne Benutzer

  Alt 18. Sep 2020, 18:05
Hmm..

Es gibt hier nur 2 Optionen:

1.) Autologon
Unter Windows kann ein User in der Registry eingetragen werden, welcher für eine automatische Anmeldung verwendet wird.
In dessen Autostart kann dann dein Prog gestartet werden.

2.) Dienst
Deine Applikation kann als Dienst installiert werden (hier gibt es Tools von MS und anderen) dann wird diese automatisch beim Windowsstart, ohne automatische Anmeldung, gestartet.

Hier aber ACHTUNG: Wenn deine Applikation eingaben benötigt oder Dialoge bestätigt werden müssen, dann vergiss es.
Nur bei Option 1 kannst Du dich per z.B. RDP auf den Server aufschalten (unter Verwendung des speziellen Users) und dann deine Applikation bedienen.

Beim Dienst kommst du nicht an die Fenster ran...
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#4

AW: Programm starten ohne Benutzer

  Alt 18. Sep 2020, 20:14
Aufgabenplanung: Dort kann man den Nutzer angeben, aber das ist auch vorallem "nur" der Nutzer, mit dessen Rechten das Programm dann läuft,
und das muß nicht die Session des "Console"-Nutzers sein, welches Jener ist, der den Desktop sieht und wo Maus und Tastatur draufgeschaltet werden.

Über einen Trigger ala "Bei Anmeldung" kann man aber das Programm auch in der Console laufen lassen, also "sichtbar" im Vordergrund.


Wie man eine Session startet, weiß ich aber auch noch nicht. (wobei es hier eh nur den TerminalServer betrifft, wo es mehrere Sessions "sichtbarer" Nutzer gibt)
Auf einem normalen PC düfte (vermutlich) das Programm dann auch sichtbar werden, wenn man für den Start jenen "Benutzer" wählt, welcher sich anschließend auch einloggt.


Das Einzige was ich kann, ist eine "aktive" Session mit der Console zu verbinden, also "automatisch" Einzuloggen, so als wenn der Nutzer auf dem Speerbildschirm das Passwort eingegeben hätte.
Nutze ich, um den Desktop wieder sichtbar zu machen, nachdem sich jemand via RDP auf einem normalen Desktop-Windows eingeloggt hatte und die Verbindung wieder getrennt hat.
Windows 7 zeigte auf den Sperrbildschirm noch an, wenn jemand eingeloggt ist ... bei Windows 10 sieht du nicht mehr, ob noch jemand verbunden ist und man den rauswirft, wenn man sich anmeldet.

Wie man sich im Support-Modus via RDP von extern einloggen kann, weiß ich leider auch nicht. Also dass wo RDP und Consolen-Nutzer beide das Gleiche sehen ... also um sich von Remote "helfen" zu lassen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (18. Sep 2020 um 20:25 Uhr)
  Mit Zitat antworten Zitat
Michael II
Online

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Programm starten ohne Benutzer

  Alt 19. Sep 2020, 08:30
Was du mit "ohne Benutzer" meinst, weiss ich nicht. Evt. hilft dir Sysinternals Autologon (da musst du aber einen Benutzer angeben ) gepaart mit deinem geplanten Task und entsprechendem Trigger. (Nebenbei: Unter "Dein Scheduled Task > Tab General" kannst du wählen, ob ein Task auch dann gestartet wird, wenn der User nicht eingeloggt ist. Ich nutze diese Option zum Beispiel für automatische Updates.)
Michael Gasser
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Programm starten ohne Benutzer

  Alt 19. Sep 2020, 10:36
Via Aufgabenplanung starten lassen, wäre auch noch eine Option.
Es muss ja nicht zeitgesteuert sein, sondern ggf. auf ein Ereignis.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#7

AW: Programm starten ohne Benutzer

  Alt 20. Sep 2020, 07:11
Hmm...


Via Aufgabenplanung starten lassen, wäre auch noch eine Option.
Es muss ja nicht zeitgesteuert sein, sondern ggf. auf ein Ereignis.

Sind die Events in der Aufgabenplanung nicht nur in Verbindung mit einer Anmeldung (Login) verwendbar?
Somit kann die Aufgabenplanung als alternative zum einfachen Autostart verwendet werden.

Jedoch ist dann immer noch eine automatische Anmeldung beim Hochfahren des Rechners notwendig.
Ob dass dann eine UserSession oder KonsolenSession, ist dann egal...
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
 
Delphi 12 Athens
 
#8

AW: Programm starten ohne Benutzer

  Alt 20. Sep 2020, 10:19
Eine Aufgabe kann auch ausgeführt werden, wenn kein Benutzer angemeldet ist. Dann wird aber trotzdem die Aufgabe unter dem dafür eingetragenen Benutzer ausgeführt. Auch bei einem Service muss ja angegeben werden, unter welchem Account er ausgeführt wird.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 07:50 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