Kann eine Anwendung erkennen, dass sie als RemoteApp ausgeführt wird?

1797
gparyani

Hintergrundinformation

Ich habe vor kurzem Microsoft Office 2013 auf meinem Server installiert, um die RemoteApp auf allen Heimcomputern bereitzustellen. Als ich nach der Installation versuchte, die Programme auszuführen, gab es einen Fehler. Um Office auf einem PC auszuführen, auf dem Terminaldienste installiert sind, müssen Sie eine Volumenlizenzversion von Office verwenden. Anschließend habe ich alle Remotedesktop-Serverrollen deinstalliert und stattdessen manuell bereitgestellt, indem die Zulassungsliste deaktiviert wurde. Die Ausführung der Vorgänge war entweder lokal oder als RemoteApps implementiert.

Was ist die Zulassungsliste?

In einer normalen RemoteApp-Bereitstellung gibt es eine Liste von Anwendungen, die als RemoteApps ausgeführt werden dürfen. Die einzige Möglichkeit, dies zu konfigurieren, ist die Verwendung der Terminaldienste-Serverrolle. Es ist jedoch möglich, in die Windows-Registrierung zu gehen und die Liste zu deaktivieren, sodass jeder als RemoteApp auf jede Anwendung auf dem Server zugreifen kann, indem er den Pfad dazu kennt, ohne die Terminaldienste-Serverrolle installieren zu müssen.

Das machte mich neugierig auf etwas ...

Meine Frage

Kann eine Anwendung erkennen, dass sie auf diese Weise als RemoteApp ausgeführt wird (wobei die Zulassungsliste deaktiviert ist) und den Start verweigern kann, wenn dies der Fall ist, und nur dann gestartet wird, wenn sie auf dem lokalen Server-Desktop ausgeführt wird?

6
Es klingt, als ob Sie gegen den EULA verstoßen würden, womit Sie auf dieser Website aller Wahrscheinlichkeit nach keine Hilfe erhalten. joeqwerty vor 10 Jahren 0
@Joeqwerty Ich habe diese Frage gerade aus Neugier bekommen, als ich diese Fehlermeldung erhielt. Ich spreche von einem allgemeinen Programm. In keinem Fall versuche ich, die EULA von Software zu verletzen. Ich lese sie tatsächlich und finde Schlupflöcher, die es mir erlauben, dies zu tun ("Sie können es auf einem Computer installieren", aber es ist nur auf einem Computer installiert, aber ich führe es nur auf mehreren Computern aus.) . Die für Office 2013 sagt ausdrücklich dagegen aus, also nicht. gparyani vor 10 Jahren 1
@joeqwerty: Laut EULA dürfen Sie die Einschränkungen oder Funktionen von Windows nicht umgehen. Das Umgehen von Fehlern widerspricht daher ihren Begriffen, wie z. B. die Verwendung eines Dateisuchdienstprogramms, das von Standarddateien verborgen wird. R0b0t1 vor 6 Jahren 0

1 Antwort auf die Frage

2
marsh-wiggle

Wie kann eine Anwendung erkennen, dass sie als RemoteApp ausgeführt wird?

RemoteApp-Sitzungen werden auf dem Terminalserver von gestartet RDPINIT.EXE. Die Anwendung kann also prüfen, ob RDPINIT.EXE der übergeordnete Prozess ist .

Einzelheiten:

Eine Instanz von RDPINIT.EXE wird auf dem Terminalserver für jede RemoteApp-Sitzung eines Benutzers ausgeführt. RDPINIT.EXE wird von USERINIT.EXE als RemoteApp-spezifische Implementierung von USERINIT.EXE geladen. RDPINIT.EXE fungiert als Watchdog zum Starten von RDPSHELL.EXE und zum Überwachen des Startens und Herunterfahrens des Prozesses. RDPSHELL.EXE ist die Shell, die anstelle von EXPLORER.EXE verwendet wird, um die RemoteApp-Funktionalität bereitzustellen. RDPINIT.EXE überwacht den Prozesslebenszyklus von RDPSHELL.EXE und startet ihn neu, wenn er ungewöhnlich beendet wird. RDPSHELL.EXE lädt einen Satz Windows-Ereignishaken auf jeden Benutzerdesktop in der Sitzung. Diese Ereignis-Hooks ermöglichen RDPSHELL.EXE, den Status aller Fenster auf dem Desktop zu überwachen. ...

(von Technet zitiert )