2016-03-30 9 views
1

Wir haben eine Windows-Anwendung entwickelt und in Terminal Server/Citrix-Umgebung bereitgestellt.RDP „Clientname“ Umgebungsvariable null ist, ausgeführt werden, wenn als Administrator

Wir haben die Enviornment.GetEnvironmentVariable ("CLIENTNAME") verwendet, um den Clientnamen von dort abzurufen, wo auf das RDP zugegriffen wird.

Wenn ich die Anwendung mit normalen Berechtigungen (Doppelklick auf die Anwendung), dann bekomme ich richtigen Wert in der "ClientName" Env Variable.

Aber wenn ich die gleiche Anwendung mit Administratorrechten (Rechtsklick ausführen und als Administrator ausführen), dann dann "ClientName" Env-Variable gibt null.

Hinweis: Ich habe eine kleine Anwendung geschrieben und erhalten alle Umgebungsvariablen in der virtuellen Maschine (RDP) mit "Environment.GetEnvironmentVariables()". „Clientname“ Env Variablen wird nur dann angezeigt, wenn sie mit normalen Privileg und die gleiche Variable versteckt mit Administratorrechten ausgeführt, wenn ausgeführt wird.

Kann jemand lassen Sie uns wissen, warum die „Clientname“ Env-Variable auf Administratorrechten verborgen ist?

Grüße, Guru

+0

ich das gleiche Problem mit bin. Hast du eine Lösung gefunden? – user594643

Antwort

0

Das klingt wie das Ihr Problem sein könnte:

Wenn die Ferne mit Remotedesktopverbindung anschließen, das Umgebungsvariablen CLIENT und SITZUNGS werden jeden Prozess hinzugefügt, die ist gestartet.

Wenn Sie den Ordner Option „Ordnerfenster in einem eigenen Prozess “ gesetzt und später eine Anwendung von einem zusätzlichen Explorer Fenster starten, wird die Anwendung nicht diese zusätzlichen Umgebung Variablen sehen.

Um das Problem zu beheben:

Wenn Ihre Anwendung auf diesen Variablen setzt, entfernen Sie die Ordner Option „Ordnerfenster in einem eigenen Prozess“.

Explorer image

MS Artikel: https://support.microsoft.com/en-us/kb/2509192