API

Citrix Provisioningには4つのAPIが用意されています。APIごとに、独自のProgrammer’s Guideがあります。削除されたPowerShell APIと、オブジェクト指向のPowerShell API間の変換を管理する方法についてのガイドもあります。

Active Directoryグループの列挙方法

Citrix Provisioningコンソールには、Citrix Virtual Apps and Desktopsセットアップウィザードが含まれています。このウィザードでは、Citrix Provisioning、Citrix Virtual Apps and Desktops、およびWindows Active Directory間の統合タスクを提供します。 このウィザードにはProvisioningコンソールからアクセスでき、Citrix Provisioning、Citrix Virtual Apps and Desktops、Windows Active Directoryで仮想マシンおよび必要なオブジェクトを作成します。

注:

この実装は、公開されているAPIがなかったため、以前のリリースでは制限されていました。公開されているAPIがなければ、Citrix Provisioningユーザーが、各自の環境でさまざまな自動テストのパラダイムを実行することはできませんでした。

Citrix Virtual Apps and Desktopsとストリーム配信仮想マシンウィザードの機能は、Powershell APIを使用して、Provisioning Servicesサーバー上のサービスによって公開されます。このAPIは、PowerShellフロントエンドを提供し、ストリーム配信仮想マシンセットアップウィザードおよびCitrix Virtual Apps and Desktopsセットアップウィザードの機能を自動化できます。

ヒント:

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

X.509証明書の構成

Citrix Provisioning APIサービスは、Provisioning Servicesサーバー上でX.509証明書を必要とするSSL接続を使用します。この証明書のCA証明書は、サーバーおよびコンソールマシンの両方に存在する必要があります。

Citrix Provisioning APIの自己署名証明書を作成するには、以下の手順を実行します:

  1. Provisioning Servicesサーバーのオペレーティングシステムに対応したWindows SDKをダウンロードして、インストールします。
  2. コマンドプロンプトを開き、SDKのbinフォルダーに移動します。デフォルト:C:\Program Files (x86)\Windows Kits\SDK_Version\bin\x64>。
  3. 次のコマンドを実行します:

    a. ルート証明機関として動作する証明書を作成します:makecert -n “CN= P VSRoot CA” -r -sv P VSRoot CA.pvk P VSRoot CA.cer b. サービス証明書を作成してインストールします:makecert -sk P VSAP I -iv P VSRoot CA.pvk -n “CN= FQDN of the PVS Server” -ic P VSRoot CA.cer -sr localmachine -ss my -sky exchange -pe c. サーバーとコンソールマシンの信頼されたルート証明機関の場所にルートCA証明書をインストールします:cert mgr -add “PVSRoot CA.cer” -s -r localMachine Root

  4. 構成ウィザードを実行します。[SOAP SSL構成] ページで、作成された証明書を選択します。

注:

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

Citrix Provisioning APIの使用

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

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

ヒント:

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

コンソールサイト

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

    a. Import-Module。C:Program Files\Citrix\Provisioning Services\Citrix.ProvisioningServices.dll b. Get-Command-Module

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

コンソールサイト

c. Ping the Citrix Provisioning API service: **Get-PvsApiServiceStatus -PvsServerAddress <FQDN of PVS Server> -PvsServerPort <Port PVS API is configured to listen on>**

ヒント:

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

コンソールサイト

d. Login to the Citrix Provisioning API (use either of the following commands):

**Use Domain/Username/Password parameters:**

Get-PvsConnection -PvsServerAddress <FQDN of PVS Server> -PvsServerPort <SOAP Port +1 PVS API is configured to listen on> -Domain <PVS Admin Domain> -Username <PVS Admin username> -Password <PVS Admin password>

**Use Pass-in P SCredent ial object:**

Get-PvsConnection -PvsServerAddress <Address of PVS Server> PvsServerPort-Credentials <PSCredential Object returned by Get-Credential>

コンソールサイト

コンソールサイト

次のコマンドレットは、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コマンドレットは、すべてDatabaseAccessレイヤに含まれます。

Set -PvsConnection PowerShellコマンドを使用してAPIに接続すると、以下のような接続オブジェクトが返されます:

コンソールサイト

Citrix Provisioningでは、ユーザーのアクセス制御方法は、ユーザーのActive Directoryログイン資格情報と管理グループの構成に基づきます。この方法の結果、ADグループの列挙は、構成ウィザードとコンソール操作に関連付けられたイベントを繰り返しトリガーします。擬似ログインが発生する複雑なAD環境では、システムが低速になるとともに応答が遅くなり、Provisioningコンソールへの接続タイムアウトが発生する可能性があります。この機能によって、ADグループの列挙方法が向上し、このような問題が解決されています。

この機能が実装される前は、ADグループの列挙は、ドメイン内のユーザーのログインに関連付けられたメンバーシップと、信頼済みドメイン全体をスキャンすると発生していました。 この処理は、ユーザーのグループメンバーシップがすべて決定されるまで継続されます。または、検索する追加のドメインがない場合に継続されます。識別されたグループは、データベースで定義された管理グループと比較され、ユーザーのアクセス権が判断されます。

この機能では、ADグループの列挙が強化され、すべてのドメインでグループ全体を検索するのではなく、ユーザーのログインメンバーシップの優先ドメインをインテリジェントに検索できるようになりました。 ユーザーのログイン資格情報に関連付けられた管理グループ名を使用して、優先ドメイン一覧が提供されます。 ユーザーのドメイン一覧が最初に検索され、続いて優先ドメイン一覧が検索されます。 この検索中にファームの管理グループが検出された場合、ユーザーには既にCitrix Provisioningファームに対する完全なアクセス権があるため、検索は停止します。 この検索パラダイムには、ドメインセキュリティIDを使用してドメインに目的のグループが含まれているかどうかを検証するメカニズムも含まれています。 ユーザーのログインメンバーシップに対するドメインの検索アプローチが変更されたため、ほとんどのAD環境のニーズに対応し、構成ウィザードとコンソール操作をよりすばやく実行できます。

検索アプローチの変更

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

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

API