Frage

Unter normalen Umständen eine VB.NET Anwendung von mir können die Clientumgebungsvariable überprüfen Sie den Namen der Workstation erhalten die Benutzer eine Verbindung herstellt.

Also, wenn WorkstationX RDPs in ServerA:

  • Computername = ServerA
  • Client = WorkstationX

Das funktioniert gut.

Wenn ich einen Rechtsklick auf die Anwendung und Ausführen als Administrator wählen, die Client Variable nicht gesetzt ist.

Kennt jemand eine Möglichkeit, leicht die Workstationnamen des Clients immer mit dem Terminalserver verbunden ist, auch wenn die Anwendung über „Ausführen als Administrator“ gestartet wird?

War es hilfreich?

Lösung

Die Terminal-Services-API sein könnte Ihre Antwort. Ich benutze es in einer VB.NET app Benutzersitzungen auf einem bestimmten Server abzumelden, und die Namen der Workstations zu diesen Sitzungen verbunden abzurufen. Der Code, den ich habe hat eine Menge von p-invoke Sachen und ist eher sperrig, aber ich kann es schreiben, wenn Sie wollen.

Andere Tipps

Wenn Sie nicht mit dem P beschäftigen möchten / Invoke Unternehmen selbst, können Sie Cassia , was es für Sie hüllt:

New Cassia.TerminalServicesManager().CurrentSession.ClientName
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top