View 6.0 で View Client 端末情報を取得できるRDSHのレジストリ
View 6.0 では、RDSH (Remote Desktop Session Host) からアプリケーションやデスクトップ全体を公開できるようになっています。
Citrix さんの XenApp 相当の機能ですね。
公開アプリケーションや公開デスクトップには View Client から PCoIP で接続しますが、このとき RDS ホストのレジストリから接続元クライアント端末の情報 (ホスト名や IP アドレス etc) を取得できないかどうか調べてみました。
画像が分かりやすいと思いますが、HKEY_USERS配下に接続ユーザのSIDがあり、さらにその下にクライアント端末情報が格納されていました。
![](https://stat.ameba.jp/user_images/20140802/17/stocker1022/d2/46/j/t02200127_0800046013022134314.jpg?caw=800)
RDSホストに複数のユーザが同時にアクセスするという仕組み上、レジストリ内でユーザアカウントごとに分類されてクライアント情報が格納されるというのは納得できますね。
なお、SID からユーザ名を出力したり、逆にユーザ名から SID を出力することは PowerShell を使えば可能です。
したがって、ユーザ名から SID を割り出してレジストリ内を走査することで、そのユーザのクライアント端末のホスト名やIPアドレスといった情報を出力するスクリプトが作れそうです。
運用で何かしらに使えそうですね。
Citrix さんの XenApp 相当の機能ですね。
公開アプリケーションや公開デスクトップには View Client から PCoIP で接続しますが、このとき RDS ホストのレジストリから接続元クライアント端末の情報 (ホスト名や IP アドレス etc) を取得できないかどうか調べてみました。
画像が分かりやすいと思いますが、HKEY_USERS配下に接続ユーザのSIDがあり、さらにその下にクライアント端末情報が格納されていました。
![](https://stat.ameba.jp/user_images/20140802/17/stocker1022/d2/46/j/t02200127_0800046013022134314.jpg?caw=800)
RDSホストに複数のユーザが同時にアクセスするという仕組み上、レジストリ内でユーザアカウントごとに分類されてクライアント情報が格納されるというのは納得できますね。
なお、SID からユーザ名を出力したり、逆にユーザ名から SID を出力することは PowerShell を使えば可能です。
したがって、ユーザ名から SID を割り出してレジストリ内を走査することで、そのユーザのクライアント端末のホスト名やIPアドレスといった情報を出力するスクリプトが作れそうです。
運用で何かしらに使えそうですね。