AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Vista PC mit NT-Service herunterfahren / Benutzer ausloggen
Thema durchsuchen
Ansicht
Themen-Optionen

Vista PC mit NT-Service herunterfahren / Benutzer ausloggen

Ein Thema von kuba · begonnen am 16. Aug 2009 · letzter Beitrag vom 17. Aug 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Vista PC mit NT-Service herunterfahren / Benutzer auslog

  Alt 17. Aug 2009, 16:34
Zitat von ringli:
Zitat von kuba:
Die erste funktioniert gar nicht (hab ich auch geschrieben). Die zweite fährt den PC herunter, es funktioniert jedoch nicht mit dem Benutzer ausloggen.
Hast du denn mal MagicAndre's Hinweis beachtet? Ich hatte mir auf die Schnelle ein VCL-Testprojekt mit InitiateSystemShutdown geschrieben das erst auch nicht funktionierte. Nachdem ich das SE_SHUTDOWN_NAME-Privileg aktiviert habe, funktionierte es. Ob sich die Funktion allerdings aus einem Dienst heraus aufrufen lässt habe ich nicht probiert da ich bisher noch keinen Dienst programmiert habe.

Routine 2 eledigt das mit SE_SHUTDOWN_NAME Privileg, es wird im NT-Dienst auch benötigt sonst passiert nichts. Aber das Ausloggen will mir nicht gelingen, der PC schaltet sich ab statt die Benutzer auszuloggen.

Meine Vermutung geht dahin, dass ich dem System irgendwie mitteilen muss welcher Benutzer ausgeloggt werden soll - Da der Benutzer auf Vista Console "1" arbeitet und der NT-Service immer auf Vista Console 0 vermute ich dass der Systemdienst "sich abmeldet" und nicht den Benutzer.

Es wäre für mich sehr hilfreich, wenn mir jemand erläutern könnte wie ich im NT-Service GetLastError abfragen kann.

Ansonsten ... try and error

kuba
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Vista PC mit NT-Service herunterfahren / Benutzer auslog

  Alt 17. Aug 2009, 16:46
Zitat von kuba:
Hallo,

hat jemand eine Ahnung wie man aus einem NT-Service heraus Windows Vista herunterfahren kann ?

Ich habe InitiateSystemShutdown versucht, aber Windows Vista macht nichts.

Mein Code:

Delphi-Quellcode:
    InitiateSystemShutdown('', // shut down localhost
    'Benutzer werden ausgeloggt !', // message to user
    10, // time-out
    TRUE, // ask user to close apps
    FALSE); // reboot after shutdown

Benötigt der Systemdienst bestimmte Privilegien um den Vista PC herunterzufahren ?

KUBA
Hallo, schau Dir mal den Beitrag in der an Windows-Shutdown
und speziell im letzten Thread von toms den Link
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Vista PC mit NT-Service herunterfahren / Benutzer auslog

  Alt 17. Aug 2009, 17:17
@Der Kaktus

Den hab ich mir schon paar mal durchgelesen, hat mich jedoch nicht zum Ziel gebracht. Kein LogOff - immer PowerOff (bei Vista). Aber nochmal zu meiner o.g. Vermutung. Ich hab in meinem NT-Service einfach mal shutdown.exe /l /f gestartet, dabei habe ich ProgramExecute verwendet.

Vielleicht habe ich mich oben etwas unklar ausgedrückt, ich meine jedenfalls dass der LogOff bei Vista mit "Benutzerrechten" initiiert werden muss und nicht mit "Systemrechten" ausgeführt werden darf, von 'WinSta0' im NT-Service.

Und siehe da, es funktioniert

Jetzt muss ich die Routine noch passend umstricken und dann solls wohl gehen ...

kuba

PS: ich würd auch abschalten wenn sich ein NT-Service "abmeldet" tschüüss...
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Vista PC mit NT-Service herunterfahren / Benutzer auslog

  Alt 17. Aug 2009, 18:09
Zitat von kuba:
@Der Kaktus

Den hab ich mir schon paar mal durchgelesen, hat mich jedoch nicht zum Ziel gebracht. Kein LogOff - immer PowerOff (bei Vista). Aber nochmal zu meiner o.g. Vermutung. Ich hab in meinem NT-Service einfach mal shutdown.exe /l /f gestartet, dabei habe ich ProgramExecute verwendet.

Vielleicht habe ich mich oben etwas unklar ausgedrückt, ich meine jedenfalls dass der LogOff bei Vista mit "Benutzerrechten" initiiert werden muss und nicht mit "Systemrechten" ausgeführt werden darf, von 'WinSta0' im NT-Service.

Und siehe da, es funktioniert

Jetzt muss ich die Routine noch passend umstricken und dann solls wohl gehen ...

kuba

PS: ich würd auch abschalten wenn sich ein NT-Service "abmeldet" tschüüss...
Na Hauptsache..es funzt
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Vista PC mit NT-Service herunterfahren / Benutzer auslog

  Alt 17. Aug 2009, 23:58
Zitat von Der.Kaktus:

Na Hauptsache..es funzt
genau !! mit LockWorkstation besteht bei Vista mit NT-Service übrigens das gleiche Problem.
Ich teste jedenfalls alles durch damit mein Programm "richtig" funzt

kuba
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:56 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