Meldungen ausgeben als Dienst
keine Anzeige vom Programm, als Dienst gestartet...
Hallo,
ich habe ein kleines Script programmiert welches ich als Dienst eingerichtet habe. Es startet auch.
Das Programm soll unter anderem für eine kurze Zeit eine Information anzeigen.
Das Problem ist nur das Meldungen, also normale System-Fenster, vor dem Anmeldefenster (Windows XP) nicht angezeigt werden.
Testweise habe ich im Script die Anzeigedauer verlängert und wenn ich mich als Administrator schnell anmelde, kann ich noch die letzten Sekunden von der Meldung sehen.
Wie lässt es sich einstellen das mein Informationsfenster schon vor dem Anmeldefenster angezeigt wird.
Im Dienst habe ich das Häkchen für "Datenaustausch zwischen Dienst und Desktop zulassen" gesetzt/aktiviert.
Bin für jede Hilfe dankbar!
Ach ja... Nein, ich kann es nicht im Autostartordner setzen, das Prg. muss vor der Benutzeranmeldung gestartet werden!
Hallo,
ich habe ein kleines Script programmiert welches ich als Dienst eingerichtet habe. Es startet auch.
Das Programm soll unter anderem für eine kurze Zeit eine Information anzeigen.
Das Problem ist nur das Meldungen, also normale System-Fenster, vor dem Anmeldefenster (Windows XP) nicht angezeigt werden.
Testweise habe ich im Script die Anzeigedauer verlängert und wenn ich mich als Administrator schnell anmelde, kann ich noch die letzten Sekunden von der Meldung sehen.
Wie lässt es sich einstellen das mein Informationsfenster schon vor dem Anmeldefenster angezeigt wird.
Im Dienst habe ich das Häkchen für "Datenaustausch zwischen Dienst und Desktop zulassen" gesetzt/aktiviert.
Bin für jede Hilfe dankbar!
Ach ja... Nein, ich kann es nicht im Autostartordner setzen, das Prg. muss vor der Benutzeranmeldung gestartet werden!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 172411
Url: https://administrator.de/forum/meldungen-ausgeben-als-dienst-172411.html
Ausgedruckt am: 05.02.2025 um 15:02 Uhr
22 Kommentare
Neuester Kommentar
Hi,
genaue Betriebssystemangaben bitte.
Gruß
genaue Betriebssystemangaben bitte.
Gruß
Hi, veraxel,
ob ein selbstinstallierten Dienst in der Auflistung unter services.msc erscheint, weiß ich nicht. Wenn doch, sieh mal unter "Anmeldung" nach, ob das Aktivieren des Datenaustauschs mit dem Desktop dir Abhilfe bringt.
Ansonsten gibt es in den Gruppenrichtlinien bei Administrativen Vorgaben unter System > Scripts die Möglichkeit, Scripte sichtbar und nicht gleichzeitig ausführen zu lassen. In der Benutzerkonfiguration könnte man so z. B. über ein Startscript entsprechende Hinweise (ohne Dienst) anzeigen lassen. Vielleicht wäre das eine Möglichkeit.
Gruß
ob ein selbstinstallierten Dienst in der Auflistung unter services.msc erscheint, weiß ich nicht. Wenn doch, sieh mal unter "Anmeldung" nach, ob das Aktivieren des Datenaustauschs mit dem Desktop dir Abhilfe bringt.
Ansonsten gibt es in den Gruppenrichtlinien bei Administrativen Vorgaben unter System > Scripts die Möglichkeit, Scripte sichtbar und nicht gleichzeitig ausführen zu lassen. In der Benutzerkonfiguration könnte man so z. B. über ein Startscript entsprechende Hinweise (ohne Dienst) anzeigen lassen. Vielleicht wäre das eine Möglichkeit.
Gruß
Ganz ohne Dienst:
http://www.windowspage.de/tipps/022429.html
http://www.windowspage.de/tipps/022429.html
@veraxel
An System kannst du nichts mit mgs schicken, und solange niemand angemeldet ist, kommt auch keine Nachricht, die mit Msg an "*" oder sonstwen geschickt wurde an.
An System kannst du nichts mit mgs schicken, und solange niemand angemeldet ist, kommt auch keine Nachricht, die mit Msg an "*" oder sonstwen geschickt wurde an.
Moin Kaputtnick.
Auch wenn niemand angemeldet ist, kommt eine Nachricht, deshalb nenne ich doch dies als Tipp.
msg * test
in einem Startskript zeigt es.
@veraxel
Was für "nicht reinen" Text möchtest Du darstellen?
[Zum Befehl: siehe oben]
Auch wenn niemand angemeldet ist, kommt eine Nachricht, deshalb nenne ich doch dies als Tipp.
msg * test
in einem Startskript zeigt es.
@veraxel
Was für "nicht reinen" Text möchtest Du darstellen?
[Zum Befehl: siehe oben]
Moin,
nee, kommt sie nicht, jedenfalls nicht unter XP, sonst hätte ich das sicher nicht geschrieben.
nee, kommt sie nicht, jedenfalls nicht unter XP, sonst hätte ich das sicher nicht geschrieben.
Zitat von @DerWoWusste:
Ich schreib auch nur Dinge, die ich teste. Tja, dann ist Dein xp vergurkt. Kleiner Scherz.
Ich schreib auch nur Dinge, die ich teste. Tja, dann ist Dein xp vergurkt. Kleiner Scherz.
Dann müssten aber alle meine XPs vergurkt sein.
Erstell doch mal 'nen geplanten Task mit msg * irgendwas und lass den beim Systemstart ausführen, Wie du sehen wirst, wirst du nichts sehen, nur dass der Task ausgeführt wurde.
Der User NT-Autorität\System oder auch nur SYSTEM hat mit MSG nun mal nichts am Hut.
Also... warum das Startskript NICHT geht, will mir nicht einleuchten, aber da komme ich evtl. noch drauf.
Was jedoch geht, ist ein MSG von außen, das schickt auch an System, siehe Bild:
http://250kb.de/u/110908/g/ypyOKVQtS8aO.gif
Ich hätte schwören können, ich habe es schonmal per Startskript probiert. Mal sehen, woran das liegt.
Was jedoch geht, ist ein MSG von außen, das schickt auch an System, siehe Bild:
http://250kb.de/u/110908/g/ypyOKVQtS8aO.gif
Ich hätte schwören können, ich habe es schonmal per Startskript probiert. Mal sehen, woran das liegt.
Ich kann dir sagen, woran es liegt:
Bei der klassischen Benutzeranmeldung funktioniert es (erst mal nur von außen), wenn man den Willkommensbildschirm verwendet, geht es nicht.
Ein Startscript im Computerkontext bringt in beiden Fällen keine Meldung auf den Bildschirm, im Benutzerkontext funktioniert auch ein MSG-Startscript, allerdings erst nach der Anmeldung, und das wollte der TO ja nicht.
Bei der klassischen Benutzeranmeldung funktioniert es (erst mal nur von außen), wenn man den Willkommensbildschirm verwendet, geht es nicht.
Ein Startscript im Computerkontext bringt in beiden Fällen keine Meldung auf den Bildschirm, im Benutzerkontext funktioniert auch ein MSG-Startscript, allerdings erst nach der Anmeldung, und das wollte der TO ja nicht.
So, Freunde der Sonne...
Warum das mit msg nicht so lief, wie erwartet, ist mir nicht ganz klar, weiterhin. Einen funktionierenden Umweg habe ich dennoch gefunden: Man steuert gezielt die Konsolensitzung an.
Der Time-Switch ist notwendig, weil msg-Nachrichten default nach 60 Sekunden von alleine schließen (wieder was gelernt).
Das funktioniert schon mal. Nun musst Du mit einer for-Schleife Deine Nachricht aus einer Textdatei einlesen, etwa so:
Wie man nun aber mehr als nur Text ausgeben soll, kann ich Dir nicht sagen.
Kaputtnick, hast Du vielleicht eine Erklärung dafür, warum msg console geht, aber msg * nicht? Und zwar nur dann nicht, wenn im Startskript ausgeführt? Es liegt somit nicht am Benutzer, sondern an der Art, wie es gestartet wird.
Warum das mit msg nicht so lief, wie erwartet, ist mir nicht ganz klar, weiterhin. Einen funktionierenden Umweg habe ich dennoch gefunden: Man steuert gezielt die Konsolensitzung an.
msg console /time:0 Nachricht
Das funktioniert schon mal. Nun musst Du mit einer for-Schleife Deine Nachricht aus einer Textdatei einlesen, etwa so:
for /f %aa in (->Pfad zur Logfiledate<-) do msg console /time:0 %%a
Wie man nun aber mehr als nur Text ausgeben soll, kann ich Dir nicht sagen.
Kaputtnick, hast Du vielleicht eine Erklärung dafür, warum msg console geht, aber msg * nicht? Und zwar nur dann nicht, wenn im Startskript ausgeführt? Es liegt somit nicht am Benutzer, sondern an der Art, wie es gestartet wird.
Hi,
eine mögliche Erklärung wäre vielleicht, dass die Meldung vor dem Willkommensbildschirm zwar ausgegeben wird, aber vom Logon-(Willkommens-)Screen überschrieben wird, der ja direkt auf den Bildschirm gezeichnet wird. Das würde auch erklären, warum die Meldung remote dann funktioniert, wenn die klassische Anmeldung verwendet wird. Aber irgendwie rausbekommen kann man das ja leider nicht so 100-prozentig. Möglich wäre auch, dass die Reihenfolge der Abarbeitung der Startumgebung auch eine Rolle spielt. Das sind aber alles nur Vermutungen.
Was ich dazu gefunden habe, ist
das und das. Passt aber alles nicht so richtig.
Edit: Gerade nochmal ausprobiert:
MSG 0 /server:computername Nachricht
funktioniert genauso wie
MSG console /server:computername Nachricht
bei einer Nachricht an einen Remote-Computer, der den Willkommensbildschirm anzeigt.
An TO: Probiere mal, ob du mit dieser Syntax wenigstens die Textmeldung ausgegeben bekommst.
eine mögliche Erklärung wäre vielleicht, dass die Meldung vor dem Willkommensbildschirm zwar ausgegeben wird, aber vom Logon-(Willkommens-)Screen überschrieben wird, der ja direkt auf den Bildschirm gezeichnet wird. Das würde auch erklären, warum die Meldung remote dann funktioniert, wenn die klassische Anmeldung verwendet wird. Aber irgendwie rausbekommen kann man das ja leider nicht so 100-prozentig. Möglich wäre auch, dass die Reihenfolge der Abarbeitung der Startumgebung auch eine Rolle spielt. Das sind aber alles nur Vermutungen.
Was ich dazu gefunden habe, ist
das und das. Passt aber alles nicht so richtig.
Edit: Gerade nochmal ausprobiert:
MSG 0 /server:computername Nachricht
funktioniert genauso wie
MSG console /server:computername Nachricht
bei einer Nachricht an einen Remote-Computer, der den Willkommensbildschirm anzeigt.
An TO: Probiere mal, ob du mit dieser Syntax wenigstens die Textmeldung ausgegeben bekommst.