【プラグイン】CITRIX環境でクライアントユーザー名を取得する
【プラグイン】CITRIX環境でクライアントユーザー名を取得する
環境変数の読み書きをプラグインコマンドしました。
https://miyako.github.io/2020/06/26/4d-environment.html
通常,システムのユーザー名はコマンドGet system infoのaccountNameプロパティ,またはCurrent system user(旧称:Current machine owner)で取得します。
CITRIX環境の場合,クライアントセッションのユーザー名は取得するためには,環境変数のCLIENTNAMEを参照する必要があります。
環境変数は,プログラム起動時にレジストリからコピーが渡されるので,外部のプログラムによって書き換えられた場合,新しい値はプログラムを再起動するまで反映されません。最新の値を確実に取得するためには,たとえば,LAUNCH EXTERNAL PROCESSで新しいCMD.exeを起動するといった工夫が必要です。
環境を変更するプログラムは,WM_SETTINGCHANGEメッセージを配信し,起動中のプログラムに環境の変化を通知することが勧められています。プラグインは,このメッセージを受信し,レジストリから環境変数を読み直すようになっています。システム・ユーザー・揮発性環境変数が対象です。既存の環境変数が更新されるため,削除された環境変数はそのまま残ります。
c.f.
https://discuss.4d.com/t/clientname-in-citrix-environment/14407
https://miyako.github.io/2020/06/26/4d-environment.html
通常,システムのユーザー名はコマンドGet system infoのaccountNameプロパティ,またはCurrent system user(旧称:Current machine owner)で取得します。
CITRIX環境の場合,クライアントセッションのユーザー名は取得するためには,環境変数のCLIENTNAMEを参照する必要があります。
環境変数は,プログラム起動時にレジストリからコピーが渡されるので,外部のプログラムによって書き換えられた場合,新しい値はプログラムを再起動するまで反映されません。最新の値を確実に取得するためには,たとえば,LAUNCH EXTERNAL PROCESSで新しいCMD.exeを起動するといった工夫が必要です。
環境を変更するプログラムは,WM_SETTINGCHANGEメッセージを配信し,起動中のプログラムに環境の変化を通知することが勧められています。プラグインは,このメッセージを受信し,レジストリから環境変数を読み直すようになっています。システム・ユーザー・揮発性環境変数が対象です。既存の環境変数が更新されるため,削除された環境変数はそのまま残ります。
c.f.
https://discuss.4d.com/t/clientname-in-citrix-environment/14407
miyako- 投稿数 : 485
登録日 : 2016/07/05
Permissions in this forum:
返信投稿: 不可