API

Citrix Provisioning APIは、シトリックスの開発者用ドキュメントサイトで入手できます:

アップグレード後のPowerShell SDKファイル

C:\Program Files\Citrix\PowerShell SDKにあるファイルは、アップグレード後に消失します。この問題は、Citrix Provisioningで使用されるCDFのバージョンが、Citrix Virtual Apps and Desktopsに関連付けられた他のコンポーネントで使用されているバージョンと一致しないために発生します。その結果、新しいCDFファイルのバージョン番号が以前のバージョンよりも小さくなります。この問題は、CPVデバイスコレクションをCitrix Virtual Apps and Desktopsマシンカタログにインポートする機能には影響しません。この問題を解決するには、次の手順に従います。

  1. Citrix Studioを終了します。
  2. 新しいCitrix Virtual Apps and DesktopsのISOをマウントします。
  3. マウントされたISOで、\x64\DesktopStudioに移動します。
  4. [PVS PowerShell SDK x64] を右クリックして、コンテキストメニューを表示します。
  5. [修復] を選択します。
  6. 修復オプションを実行します。インストールにより、必要に応じて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の自己署名証明書を作成するには、以下の手順を実行します:

  1. Provisioningサーバーのオペレーティングシステムに対応したWindows SDKをダウンロードして、インストールします。
  2. コマンドプロンプトを開き、SDKのbinフォルダーに移動します。デフォルトでは:C:\Program Files (x86)\Windows Kits\SDK_Version\bin\x64>です。また、次のコマンドを実行してください。
  3. ルート証明機関として機能する証明書を作成します:makecert -n "CN= PVSRoot CA" -r -sv PVSRoot CA.pvk PVSRoot CA.cer
  4. サービス証明書を作成してインストールします: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
  5. サーバーとコンソールマシンのTrusted Root Certification Authoritiesの場所にルートCA証明書をインストールします:cert mgr -add "PVSRoot CA.cer" -s -r localMachine Root
  6. 構成ウィザードを実行します。[SOAP SSL構成] ページで、作成された証明書を選択します。

注:

PowerShellコマンドを実行する場合、PvsServerAddressにはPVSサーバーのFQDNを、PvsServerPortには54324(デフォルト)を使用します。

Citrix Provisioning APIの使用

最新のCitrix Provisioningサーバーをインストール後、以下の手順を実行します:

  1. 構成ウィザードを実行します。
  2. Provisioningサーバーの [サービス] ウィンドウを開き、管理者として実行するようにCitrix Provisioning APIがインストールおよび構成されていることを確認します:

ヒント:

Citrix Provisioning APIサービスは、Provisioningサーバー上でX.509証明書を設定する必要があるSSL接続を使用します。

コンソールサイト

  1. ProvisioningサーバーでPowerShellウィンドウを開きます:

a. Import-Module C:Program Files\Citrix\Provisioning Services\Citrix.ProvisioningServices.dll

b. Get-Command-Module

コマンドオプションを次の図に示します。

コンソールサイト

c. Citrix Provisioning APIサービスにpingを実行します:Get-PvsApiServiceStatus -PvsServerAddress PVSサーバーのFQDN -PvsServerPort PVS APIがリスンするように構成されているポート

ヒント:

Provisioningサーバーのポート番号は、SOAPサーバー通信に使用されるポート番号です。

コンソールサイト

d. 次のいずれかのコマンドを使用して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コンソール操作をよりすばやく実行できます。

検索アプローチの変更

複雑なネストされたグループや多くの信頼関係を持つドメインがあるAD環境では、デフォルトの方法では、ユーザーの期待する管理メンバーシップを見つけることができない場合があります。このような問題を解決するために、レジストリ設定を使用し、検索方法を変更します:

  1. レジストリ設定で、HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ProvisioningServicesを見つけます。
  2. 「DomainSelectOption」という名前のDWORDを作成します。
  3. DomainSelectOption DWORDで、目的の検索手法に次のいずれかの値(10進数形式)を設定します。
  • 0 - デフォルトの検索。ユーザーのドメイン、次に管理グループドメインを検索します。
  • 1 - ユーザーのドメイン内および管理グループドメイン内を検索してから、ユーザーのドメイン内の他の信頼済みドメインを検索します。
  • 2 - 廃止されました。
  • 3 - ユーザーのドメイン、次に管理グループドメインを検索します。発見されたグループは、親ドメイン上でさらに列挙されます。
  • 4 - ユーザーのドメインおよび管理グループドメイン内を検索してから、ユーザーのドメイン内の他の信頼済みドメインを検索します。発見されたグループは、親ドメイン上でさらに列挙されます。