2016-03-30 17 views
1

私たちはWindowsアプリケーションを開発し、ターミナルサーバー/ Citrix環境に展開しました。RDP "ClientName"管理者として実行される場合、環境変数はnullです

クライアント名 からRDPにアクセスするために、Enviornment.GetEnvironmentVariable( "CLIENTNAME")を使用しました。

通常の特権(アプリケーションをダブルクリック)でアプリケーションを実行すると、 "ClientName" Env変数に 正しい値が得られます。

しかし、管理者権限(右クリックして管理者として実行)で同じアプリケーションを実行すると、 "ClientName" Env変数がnullを返します。

注:小さなアプリケーションを作成し、Environment.GetEnvironmentVariables()を使用して仮想マシン(RDP) にすべての環境変数が存在するようにしました。 "ClientName" Env変数は、通常の特権 で実行され、管理者特権で実行されると同じ変数が非表示になっている場合にのみ表示されます。

"ClientName" Env変数が管理者特権で隠されている理由を知りたい人は誰でも教えてください。

よろしく、 教祖

+0

私は同じ問題を抱えています。あなたは解決策を見つけることができましたか? – user594643

答えて

0

これはあなたの問題かもしれないようにこれが聞こえる:

リモートデスクトップ接続でリモートから接続する場合、 環境変数CLIENTNAMEとSESSIONNAMEは、各 プロセスに追加され

開始しました。

あなたは「別の プロセスで起動フォルダウィンドウ」フォルダオプションを設定し、後で追加のエクスプローラー ウィンドウからアプリケーションを起動すると、アプリケーションはこれらの追加の環境に 変数は表示されません。

問題を修正するには:

アプリケーションがこれらの変数に依存している場合は、フォルダオプション 「別のプロセスでフォルダウィンドウを起動」を削除します。

Explorer image

MSの記事:https://support.microsoft.com/en-us/kb/2509192

関連する問題