console

HTML5 Console Access from Windows PC (Done)

前のエントリーで実現しきれなかった、Windows PC からの HTML5 コンソールへのアクセスが実現できましたのでご報告。

原因は、チケットを vCenter の CloneTicket としなければならないところを、仮想マシンの MKS Ticket としていたためです。CloneTicket は、現在のセッションと同じユーザーで vCenter にログインすることができる 短時間のみ有効、かつ、1 回だけ使用可能なチケットです (参考)。チケットの “cst-VCT-” を見たときに、「どこかで見た文字列だな」とは思っていたのですが、3 年以上前のお仕事で CloneTicket を使ったときのモノでした。

MKS チケットはコンソールを開くためには必要な手続きなので、vCenter 側の Jetty 内部で使われていると思われます。Jetty から CloneTicket で vCenter にログインし、仮想マシンへの操作権限を確認しているんではないかと。

なお、VMware の Technical Marketing Engineer の William Lam 氏が 1 年前にすでに Blog で実現されていました。

修正した PowerCLI スクリプトは以下になります。

$VCenterThumbprint = "AA:BB:CC:DD:EE:FF:GG:HH:II:JJ:KK:LL:MM:NN:OO:PP:QQ:RR:SS:TT"
$VCenter = "vc-l-01sp.xxx.yyy"

Add-PSSnapin VMware.VimAutomation.Core
Connect-VIServer vc-l-01sp -User xxxx -Password zzzz

$Vm = Get-VM polaris

$SessionManager = Get-View $global:DefaultVIServer.ExtensionData.Content.SessionManager

$CloneTicket = $SessionManager.AcquireCloneTicket()

$VmName = $Vm.Name
$VmId = $Vm.ExtensionData.MoRef.Value
$SessionTicket = $CloneTicket

$URL = "http://"+$VCenter+":7331/console/?vmId="+$VmId+"&vmName="+$VmName+"&host="+$VCenter+"&sessionTicket="+$SessionTicket+"&thumbprint="+$VCenterThumbprint

& 'C:Program Files (x86)Mozilla Firefoxfirefox.exe' $URL

Disconnect-VIServer -Confirm:$false

1-2 行目: vCenter のホスト名と証明書の Thumbprint です。Thumbprint は PowerCLI では取れないようなので、どうしても Script で実現したいときは [Net.WebRequest] などを駆使してみるといいかもしれません
4-5 行目: PowerCLI の Snapin を追加し、vCenter に接続しています。
7 行目: 仮想マシン polaris のオブジェクト ID を取得しています。
9-11 行目: 今回の肝です。URL に渡すチケットは vCenter のログイン セッションの情報をクローンしたチケットです。SessionManager の AcquireCloneTicket() から取得します。
13-20 行目: URL を生成し、ブラウザーを起動します。
22 行目: vCenter への接続を切断します

もう少し気軽に HTML5 コンソールが利用できると良いのですが。

関連記事

  1. host client

    ESXi と Host Client のバージョンの組み合わせ

    vSphere 6.5 から遂に vSphere Client (C#…

  2. powercli

    Memorandum: True VM Cloning with vSphere PowerCLI

    前回のエントリで備忘録を残した、BIOS UUID と Disk …

  3. vsphere

    備忘録: 真なるクローニングに向けて

    vSphere では、クローンを行っても、全く同じ仮想マシンが出来…

  4. powercli

    PowerShell スクリプト コマンドレットのパラメータに補完機能を

    まとめスクリプト コマンドレット パラメーターの補完は極めて便利…

  5. powercli

    Details of host Advanced settings

    まとめESXi ホストの詳細設定一覧を CSV で出力ホストの…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。










  1. Tong-Sai@Naka Island, Thailand

    vmware

    vExpert 2016 Award
  2. sdk

    vSphere Web Client Plugin SDK の dev-setu…
  3. powershell

    PowerShell -Split 演算子で “.” (…
  4. powercli

    VMware PowerCLI 6.5.1 のアンインストール
  5. software-defined storage

    Virtual SAN の HCL を JSON で取得する
PAGE TOP
Translate »