VMware Horizon View を使用してクライアント OS を仮想化したとき、接続元となるクライアントの情報ってどう取得したらいいのかなぁと思って少し調査してみました。
VMware Horizon Viewの提案に必要な知識を身につけよう! パート1 必要なコンポーネント - テックセンター - Blog - テックセンター - Dell コミュニティ
接続元の情報は、仮想化されたクライアント OS のレジストリの下記の場所に書かれるようです。
HKEY_CURRENT_USER\Volatile Environment
- 物理端末のレジストリ情報
- 仮想化されたクライアントのレジストリ情報
今回のお仕事では、HOSTNAME に相当する値を取りたかったのですが、仮想化されたクライアントでは、ViewClient_Machine_Name がそれに相当するようです。物理なのか、仮想化されているのかを判断するには、この辺りの情報を参照することで対応できそうですね。
C# では、Environment クラス (System) を使用することで記述できます。ソースコードは下記の通りです。
var machine_name = Environment.GetEnvironmentVariable("ViewClient_Machine_Name"); if (machine_name == null) { MessageBox.Show("物理端末"); } else { MessageBox.Show("仮想端末"); }
以上、メモでした。
VMware徹底入門 第4版 VMware vSphere 6.0対応
- 作者: ヴイエムウェア株式会社
- 出版社/メーカー: 翔泳社
- 発売日: 2015/11/18
- メディア: 大型本
- この商品を含むブログを見る