So starten Sie die GUI-Admin-App bei der Windows-Anmeldung

So starten Sie die GUI-Admin-App bei der Windows-Anmeldung

Ich habe eine kleine Anwendung in C# geschrieben, um die Zeit zu kontrollieren, die mein Kind mit Spielen am PC verbringt.

Jetzt suche ich nach einer Möglichkeit, diese App als Administrator auszuführen, wenn sich das Kind bei seinem Profil anmeldet. Die App zeigt einige Warnungen auf dem Bildschirm an und speichert einige Statistiken in einer Datei. Daher kann sie nicht versteckt/im Hintergrund ausgeführt werden (Nachrichten müssen auf dem Bildschirm angezeigt werden) oder mit Standardbenutzerberechtigungen ausgeführt werden (Protokolle können entfernt werden ...)

Ich habe Stunden damit verbracht, zu versuchen, dies über den Windows-Taskplaner zum Laufen zu bringen, aber ich konnte diese App nicht sichtbar machen ...

Jede Art von Trinkgeld wirdsehrgeschätzt !

PS: Wenn das Ausführen von GUI-Admin-Apps auf dem Desktop eines anderen Benutzers nicht möglich ist, kann mir vielleicht jemand einen Tipp geben, wo und wie ich die Protokolldatei speichern kann, damit sie für (Smart-)Kido leicht zugänglich ist :)

Antwort1

Der richtige Weg hierfür besteht darin, die App als Dienst oder als anderer Benutzer auszuführen und dann Fenster an den Desktop des Benutzers (Kindes) zu senden. Siehe dieMSDN-Seite zu interaktiven Diensten; während Dienste nicht mehr wirklich interaktiv ausgeführt werden dürfen, können sie immer noch indirekt mit Benutzern interagieren, einschließlich Benutzern, die unter anderen Konten arbeiten. DieWTSSendMessageFunktion kann verwendet werden, um ein Meldungsfeld in einer aktuell angemeldeten Sitzung anzuzeigen, oder Ihr Prozess kann verwendenCreateProcessAsUser(sofern Zugriff besteht), um in der Benutzersitzung einen Prozess zu erstellen, mit dem interagiert werden kann (wobei der übergeordnete Prozess weiterhin Protokolldateien erstellen kann, die vom Benutzer nicht gelöscht werden können usw.).

EDIT: Ein Prozess muss nicht als Dienst laufen, um diese Funktionen zu nutzen. Sie sind für Dienste nützlich, aber auch für jeden anderen Prozess, der (nicht interaktiv) als anderer Benutzer läuft.

EDIT 2: Was Protokolldateien betrifft, können (und sollten) diese mit Nur-Anhängen-Berechtigungen für den Protokollierungsprozess eingerichtet werden. Auf diese Weise kann das Programm, selbst wenn es mit den Berechtigungen des Kindes ausgeführt wird, nur an die Datei anhängen (nicht löschen, überschreiben, kürzen usw.). Sie können eine Datei öffnen, indem Sie nur Anhängezugriff anfordern.

Natürlich verhindert das nicht, dass das Kind den Prozess einfach abbricht. Es gibt keine Möglichkeit,Dasohne es unter einem anderen Konto auszuführen, obwohl ein Watchdog-Prozess (der möglicherweise unter dem Namen eines anderen Benutzers ausgeführt wird) versuchen könnte, es bei Bedarf sofort neu zu starten.

verwandte Informationen