API
Citrix Provisioning APIは、Citrix開発者向けドキュメントサイトで入手できます:
アップグレード後のPowerShell SDKファイル
C:\Program Files\Citrix\PowerShell SDK
にあるファイルは、アップグレード後に消失します。この問題は、Citrix Provisioningで使用されるCDFのバージョンが、Citrix Virtual Apps and Desktopsに関連付けられた他のコンポーネントで使用されているバージョンと一致しないために発生します。その結果、新しいCDFファイルのバージョン番号が以前のバージョンよりも小さくなります。この問題は、CPVデバイスコレクションをCitrix Virtual Apps and Desktopsマシンカタログにインポートする機能には影響しません。この問題を解決するには、次の手順を実行します:
- Citrix Studioを終了します。
- 新しいCitrix Virtual Apps and DesktopsのISOをマウントします。
- マウントされたISOで、\x64\DesktopStudioに移動します。
- [PVS PowerShell SDK x64] を右クリックして、コンテキストメニューを表示します。
- [修復] を選択します。
- 修復オプションを実行します。インストールにより、必要に応じて2つのCDFファイルが追加されます。
Active Directoryグループの列挙方法
Citrix ProvisioningコンソールにはCitrix Virtual Apps and Desktopsのインストールウィザードがあり、Citrix Provisioning、Citrix Virtual Apps and Desktops、およびWindows Active Directoryの間の統合タスクを提供します。このウィザードでは、Citrix Provisioning、Citrix Virtual Apps and Desktops、Windows Active Directoryで仮想マシンおよび必要なオブジェクトを作成します。
注:
この実装は、公開されているAPIがなかったため、以前のリリースでは制限されていました。公開されているAPIがなければ、Citrix Provisioningユーザーが、各自の環境でさまざまな自動テストのパラダイムを実行することはできません。
Citrix Virtual Apps and Desktopsとストリーム配信仮想マシンウィザードの機能は、PowerShell APIを使用して、Provisioningサーバー上のサービスによって公開されます。このAPIは、PowerShellフロントエンドを提供し、ストリーム配信仮想マシンセットアップウィザードおよびCitrix Virtual Apps and Desktopsインストールウィザードの機能を自動化できます。
ヒント:
Citrix Provisioning APIサービスは、Provisioningサーバー上でX.509証明書を設定する必要があるSSL接続を使用します。
X.509証明書の構成
Citrix Provisioning APIサービスは、Provisioningサーバー上でX.509証明書を必要とするSSL接続を使用します。この証明書のCA証明書は、サーバーおよびコンソールマシンの両方に存在する必要があります。
Citrix Provisioning APIの自己署名証明書を作成するには、以下の手順を実行します:
- Provisioningサーバーのオペレーティングシステムに対応したWindows SDKをダウンロードして、インストールします。
- コマンドプロンプトを開き、SDKのbinフォルダーに移動します。デフォルトでは
C:\Program Files (x86)\Windows Kits\SDK_Version\bin\x64>
です。その後、次のコマンドを実行します。 - ルート証明機関として機能する証明書を作成します:
makecert -n "CN= PVSRoot CA" -r -sv PVSRoot CA.pvk PVSRoot CA.cer
。 - サービス証明書を作成してインストールします:
makecert -sk PVSAP I -iv PVSRoot CA.pvk -n "CN= FQDN of the PVS Server" -ic PVSRoot CA.cer -sr localmachine -ss my -sky exchange -pe
。 - サーバーとコンソールマシンの
Trusted Root Certification Authorities
の場所にルートCA証明書をインストールします:cert mgr -add "PVSRoot CA.cer" -s -r localMachine Root
。 - 構成ウィザードを実行します。[SOAP SSL構成] ページで、作成された証明書を選択します。
注:
PowerShellコマンドを実行する場合、
PvsServerAddress
にはPVSサーバーのFQDNを、PvsServerPort
には54324(デフォルト)を使用します。
Citrix Provisioning API
Citrix DaaS(旧称Citrix Virtual Apps and Desktopsサービス)でProvisioning APIを使用するには、Citrix Cloudに認証するための資格情報を提供する必要があります。
Citrix DaaSでProvisioning APIを使用する
Citrix DaaSを使用する場合、各プロビジョニングサーバーで実行されているProvisioning APIサービスは、Citrix Cloudに認証するための資格情報を必要とします。これらの資格情報を提供すると、指定されたユーザー名で実行されているプロセスはすべて、セキュアクライアント資格情報を使用してCitrix Cloudに認証します。
これらの資格情報を提供するには、次を実行します:
- 管理者ユーザーとしてCitrix CloudポータルのIAMページにログインします。
- Citrix Cloud IAMページからセキュアクライアントを作成します。このページから、顧客IDも記録します。
- セキュアクライアントをPVSサーバー上のCSVファイルにダウンロードします。
重要: CSVファイルにはシークレットが含まれ、セキュアクライアントを作成したユーザーとしてCitrix Cloudへの認証に使用できます。このファイルを保存して保護します。
- Provisioning API呼び出しを実行する各サーバー上で:
- Provisioning Servicesユーザー名を使用してPowerShellウィンドウを実行します。
- CSVファイルをダウンロードします。
-
次のコマンドを実行します。
Set-XDCredentials -CustomerId "<customerIDFromPortal>" -SecureClientFile "<CSVPath>" -ProfileType CloudAPI –StoreAs "default" <!--NeedCopy-->
- ダウンロードしたCSVファイルのコピーを削除してください。
Citrix Provisioning APIを使用する
最新のCitrix Provisioningサーバーをインストール後、以下の手順を実行します:
- 構成ウィザードを実行します。
- Provisioningサーバーの [サービス] ウィンドウを開き、管理者として実行するようにCitrix Provisioning APIがインストールおよび構成されていることを確認します。
ヒント:
Citrix Provisioning APIサービスは、Provisioningサーバー上でX.509証明書を設定する必要があるSSL接続を使用します。
Provisioning サーバーでPowerShellウィンドウを開き、コマンドモジュールをインポートします:
-
Import-Module "C:\Program Files\Citrix\Provisioning Services\Citrix.ProvisioningServices.dll"
。 -
Get-Command-Module Citrix.ProvisioningServices
。 - Citrix Provisioning APIサービスにpingを実行します:Get-PvsApiServiceStatus -PvsServerAddress PVSサーバーのFQDN -PvsServerPort PVS APIがリスンするように構成されているポート
ヒント:
Provisioningサーバーのポート番号は、SOAPサーバー通信に使用されるポート番号です。
次のいずれかのコマンドを使用してCitrix Provisioning APIにログインします:
ドメイン/ユーザー名/パスワード のパラメーターを使用する:
Get-PvsConnection -PvsServerAddress
PVSサーバーFQDN -PvsServerPort
PVS APIがリスンするように構成されているSOAPポート+1 -Domain
PVS管理ドメイン -Username
PVS管理者のユーザー名 -Password
PVS管理者のパスワード
Pass-in PSCredentialオブジェクトを使用する:
Get-PvsConnection -PvsServerAddress
PVSサーバーのアドレス PvsServerPort-Credentials
Get-Credentialによって返されたPSCredentialオブジェクト
次のコマンドレットは、Citrix Provisioning API実装に含まれています。
- Get-PvsApiServiceStatus。特定のアドレス/ポートでサービスが機能しているかを判断するためにサービスにpingを実行します。
- Get-PvsConnection。Citrix Provisioning APIにログインします。
- Clear-PvsConnection。Citrix Provisioning APIからログアウトします。禁止リストに認証トークンが追加されます。
- Start-PvsProvisionXdMachines。Citrix Virtual Apps and Desktopsインストールウィザードの自動化に使用します。
- Start-PvsProvisionMachines。ストリーム配信仮想マシンセットアップウィザードの自動化に使用します。
- Get-PvsProvisioningStatus。前の2つのコマンドのいずれかから戻されたIDを使用して、現在のプロビジョニングセッションの状態を取得します。
- Stop-PvsProvisionMachines。前の2つのコマンドのいずれかから戻されたIDを確認して、現在のプロビジョニングセッションをキャンセルします。
これらのPowerShellコマンドレットの例には、Get-Help CommandName – Examples
でアクセスできます:
ヒント:
他のPowerShellコマンドはすべてデータベースアクセスレイヤーの一部であるため、使用しないでください。
Set -PvsConnection
PowerShellコマンドを使用してAPIに接続すると、
以下のような接続オブジェクトが返されます:
Citrix Provisioningでは、ユーザーのアクセス制御方法は、ユーザーのActive Directoryログイン資格情報と管理グループの構成に基づきます。この方法の結果、ADグループの列挙は、構成ウィザードとコンソール操作に関連付けられたイベントを繰り返しトリガーします。擬似ログインが発生する複雑なAD環境では、システムが低速になるとともに応答が遅くなり、Citrix Provisioningコンソールへの接続タイムアウトが発生する可能性があります。この機能によって、ADグループの列挙方法が向上し、このような問題が解決されています。
この機能が実装される前は、ADグループの列挙は、ドメイン内のユーザーのログインに関連付けられたメンバーシップと、信頼済みドメイン全体をスキャンすると発生していました。この処理は、ユーザーのグループメンバーシップがすべて決定されるまで継続されます。または、検索する追加のドメインがない場合に継続されます。識別されたグループは、データベースで定義された管理グループと比較され、ユーザーのアクセス権が判断されます。
この機能では、ADグループの列挙が強化され、ユーザーのログインメンバーシップの優先ドメインをインテリジェントに検索できるようになりました。すべてのドメインでグループ全体を検索する方法とは異なります。ユーザーのログイン資格情報に関連付けられた管理グループ名を使用して、優先ドメイン一覧が提供されます。ユーザーのドメイン一覧が最初に検索され、続いて優先ドメイン一覧が検索されます。この検索中にファームの管理グループが検出された場合、ユーザーには既にCitrix Provisioningファームに対する完全なアクセス権があるため、検索は停止します。この検索パラダイムには、ドメインセキュリティIDを使用してドメインに目的のグループが含まれているかどうかを検証するメカニズムも含まれています。ユーザーのログインメンバーシップに対するドメインの検索アプローチが変更されたため、ほとんどのAD環境のニーズに対応し、構成ウィザードとProvisioningコンソール操作をよりすばやく実行できます。
BDM PowerShellの使用
-
ProvisioningサーバーでPowerShellウィンドウを開き、
installutil.exe
を実行して、BDM PowerShellコマンドを使用できるようにします。PS C:\Users\Administrator.MCU> c:\Windows\Microsoft.NET\Framework64\v4.0.30319\installutil.exe 'C:\Program Files\Citrix\Provisioning Services\BdmPowerShellSdk.dll' <!--NeedCopy-->
-
Boot Device Managerを作成するためのコマンドの実行に関するヘルプを取得するには、次のコマンドを実行します。
PS C:\Users\Administrator.MCU> get-help -examples New-BootDeviceManager <!--NeedCopy-->