はじめに
Citrix DaaSのCitrix Remote Powershell SDKのコマンドドキュメントが雑すぎて全然よくわからず腹が立っています。
ほとんど需要はないと思いますが、Citrix DaaSのマシンカタログ、デリバリーグループに、AzureVMをRemote PowerShellで登録する方法を共有します。
Citrix DaaSでパブリッククラウドをVDI基盤としている場合、だいたいAzureを利用している認識ですので(知らんけど)、参考になれば幸いです。
ほぼ、Citrix DaaSを触っている人向けに書いていますので、細かい説明はありません。
前提
- 公開デスクトップの利用である。(公開アプリケーションではない)
- Citrix VDIマシンはAzureVMを使用している。
- AzureVMで既にCitrix VDIをセットアップしている状況。(MCS、PVSではなく、他のサービスまたはテクノロジーのマシンでAzureVMにVDAはインストール、設定済みである。)
- Citrix Remote PowerShellをインストール済みである。
手順
Remote PowerShellを使用した手順を記載します。
認証
Remote PowershellでCitrix Cloudにログインする
Remote PowerShellを使って、Citrix Cloudにログインします。
asnp citrix.*
Get-XdAuthentication
登録のための情報取得
登録するマシンカタログのCatalogUidを確認する。
Get-BrokerCatalogコマンドを実行します。
Get-BrokerCatalog -Name マシンカタログ名
例)
Get-BrokerCatalog -Name MachineCatalogName
出力された Uid を後で使用します。(①)
マシンのホストのUidを確認する。
Get-BrokerHypervisorConnectionコマンドを実行します。
Get-BrokerHypervisorConnection -name Citrix DaaSに登録されているマシンが存在するホスト名
例)
Get-BrokerHypervisorConnection -name HostName
結果の Uid を後で使用します。(②)
マシンカタログ・デリバリーグループへの登録
マシンをマシンカタログに登録する
New-brokermachineコマンドを使用し登録します。
AzureVMの場合、HostedMachineIdの設定が必要です。
HostedMachineIdは、登録するAzureVMが存在するAzureのリソースグループ名/AzureVM名となります。
New-brokermachine -CatalogUid マシンカタログUid(①) -MachineName ドメイン\ADコンピュータ名 -HypervisorConnectionUid ホストUid(②) -HostedMachineId Azureリソースグループ名/AzureVM名
例)CatalogUidが88、HypervisorConnectionUidが23の場合
New-brokermachine -CatalogUid 88 -MachineName Domain\MachineName -HypervisorConnectionUid 23 -HostedMachineId resource_group/AzureVM_Name
マシンをデリバリーグループに登録する
Add-BrokerMachineコマンドを使用し登録します。
Add-BrokerMachine -MachineName ドメイン\ADコンピュータ名 -DesktopGroup デリバリーグループ名
例)
Add-BrokerMachine -MachineName Domain\MachineName -DesktopGroup DeliveryGroupName
登録確認
マシンが正しく登録されたか確認する
Get-BrokerMachineコマンドを使ってマシンが正しく登録されたか確認します。
Get-BrokerMachine -Machinename ドメイン\ADコンピュータ名
例)
Get-BrokerMachine -Machinename Domain\MachineName
取得した情報の以下の項目を確認します。
- CatalogName
--> 正しいマシンカタログ名が登録されているか - DesktopGroupName
--> 正しいデリバリーグループ名が登録されているか - HostedMachineId
--> 正しいAzureのリソースグループ名/AzureVM名が登録されているか - PowerState
--> Onになっているか ※重要 - RegistrationState
-->Registeredになっているか ※重要
終わりに
運用などRemote PowerShellで手順化した方が効率的ですので使うべきですが、公式ドキュメントが雑すぎるのは如何なものかと思いますYo!