Product Documentation

SDKおよびAPI

Mar 25, 2016

このリリースでは、複数のSDKおよびAPIを使用できます。

XenAppおよびXenDesktop SDK:XenAppおよびXenDesktop SDKは、多くのMicrosoft Windows PowerShell Version 3.0スナップインに基づいています。これにより、Citrix Studioと同じタスクだけでなく、Studioでサポートされないタスクを実行できます。

詳しくは、Citrix Developerを参照してください。

CitrixグループポリシーSDK:CitrixグループポリシーSDKにより、グループポリシーの設定およびフィルターを表示して構成できます。 PowerShellプロバイダーを使用して、マシン、ユーザー設定、およびフィルターに対応する仮想ドライブを作成します。 このプロバイダーは、New-PSDriveに対する拡張として表示されます。 Group Policy SDKを使用するには、StudioまたはXenApp/XenDesktop SDKのいずれかをインストールする必要があります。 詳しくは、後述の「グループポリシーSDK」セクションを参照してください。

Monitor Service OData API:Monitor Service OData APIを使用して、以下を実行できます。

  • 将来の計画のために履歴傾向を分析する。
  • 接続やマシンの障害に対する詳細なトラブルシューティングを実行する。
  • ほかのツールおよびプロセスに情報をインポートする(Microsoft ExcelのPowerPivotテーブルを使って別の方法でデータを表示するなど)。
  • APIで提供されるデータ上にカスタムユーザーインターフェイスを構築する。

詳しくは、「Monitor Service OData API」を参照してください。

XenAppおよびXenDesktop SDK

Version 7.x以降、XenAppとXenDesktopでは「FlexCast Management Architecture」と呼ばれる共通の統合アーキテクチャが使用されています。 これにより、従来XenDesktopでのみ提供されていた多くの機能がXenAppでも提供されるようになりました。このため、これらの機能に関するSDK要素は、XenDesktopについてのみ説明されていても、XenAppとXenDesktopの両方に適用されます。

XenDesktop 5とXenDesktop 7のSDKの違い

XenDesktop 5 SDKを使い慣れている場合、XenAppおよびXenDesktop SDKの7.xバージョンとの主な違いは以下の一覧のとおりです。 

  • 新しい高レベルのSDK — XenDesktop 7 SDKでは、サイトの作成や管理を自動化するためのスクリプトを簡単に作成できます。 高レベルのSDKにより、複雑な低レベルSDKを使用しなくても、たとえば2つのコマンドレットを実行するだけで新しいサイトを作成できます。
  • 新しい低レベルSDK — XenDesktop 5のBroker SDKに含まれていた、Delegated Administration Service(DAS)用に拡張されたSDKなど、個々の低レベルSDKが新しいXenDesktop 7サービス用に提供されています。 また、Monitor Service、環境テスト、構成ログなどの新しい機能用のSDKもあります。
  • WindowsサーバーOSマシンカタログおよびデリバリーグループ - XenDesktop 7 SDKを使って、サーバーOS上でホストされるコスト効率の良いアプリケーションやデスクトップを配信できます。
  • デスクトップOSマシンアプリケーション — デスクトップOSマシンアプリケーションは、SDKレベルで大幅に変更されています。 デスクトップOS上でアプリケーションを実行する既存のスクリプトを使用している場合は、後方互換性がほとんどないため、そのスクリプトをXenDesktop 7用に更新する必要があります。
  • デリバリーグループのマシンに対する設定の適用 — XenDesktop 7では、構成スロットを使用して、サイト内のすべてのマシンにではなく、特定のデリバリーグループのマシンに設定を適用できます。 これにより、各デリバリーグループに異なる設定を適用できます。 ReceiverやApp-V公開サーバーで使用するStoreFrontアドレスの設定など、さまざまな種類の設定を含む多くの定義済み構成スロットが提供されます。 スロットの一連の設定を特定のデリバリーグループに適用して、別の設定セットを別のデリバリーグループに適用することができます。 これらの設定セットには、「営業部ポリシー」など、わかりやすい名前を付けることができます。
  • カタログの種類の置き換え — XenDesktop 7では、カタログの種類が個々のプロパティを持つカタログに置き換えられています。 後方互換性のため、single image(プール)やthin clone(専用)などのカタログの種類を使用した既存のスクリプトも引き続きサポートされますが、内部的にはこれらはプロパティのセットに変換されます。

    注意:XenDesktop 5のカタログの種類との後方互換性は、可能な限り保持されています。 ただし、新しいスクリプトを作成する場合はカタログの種類を使用せずに、個々のプロパティを備えたカタログを指定してください。

  • Desktopオブジェクトの置き換え — XenDesktop 5のBroker SDKスクリプトで使用される主なSDKオブジェクトの1つとして、Desktopオブジェクトがありました。 Desktopオブジェクトを使用して、マシン、およびマシン上のセッションの両方を参照できます。 XenDesktop 7では、このオブジェクトはSessionオブジェクトとMachineオブジェクトに置き換えられています。どちらもDesktopオブジェクトと同じように動作するよう拡張されています。 ただし後方互換性のため、Desktopオブジェクトを使用した既存のスクリプトを引き続きサポートされます。

    注意:XenDesktop 5との後方互換性は、可能な限り保持されています。 ただし、新しいスクリプトを作成する場合はDesktopオブジェクトを使用せずに、SessionオブジェクトとMachineオブジェクトを指定してください。

ポリシー規則での相違

SDKとStudioでは、ポリシー規則の扱い方に違いがあります。 SDKでは、ポリシー規則のentitlement(EntitlementPolicyRule)およびassignment(AssignmentPolicyRule)はそれぞれ独立したエンティティです。Studioでは、これらのエンティティはデリバリーグループ内に統合されているため表示されません。 また、SDKでのaccessポリシー規則(AccessPolicyRule)による制限は、Studioよりも緩いものになっています。

SDKの使用

このSDKは、Delivery ControllerまたはStudioと一緒にインストールされる多くのPowerShellスナップインで構成されています。

権限:シェルまたはスクリプトを実行するには、Citrix管理者の権限が必要です。 Controllerのローカル管理者グループのメンバーには、XenAppまたはXenDesktopのインストールに必要な完全な管理権限が自動的に付与されますが、ローカル管理者アカウントを使うのではなく、適切な権限を持つCitrix管理者を作成することをお勧めします。 Windows Server 2008 R2を実行している場合、ローカル管理者グループのメンバーとしてではなく、Citrix管理者としてシェルまたはスクリプトを実行する必要があります。

コマンドレットにアクセスして実行するには

  1. PowerShell 3.0のシェルを開きます。Studioを開き、[PowerShell]タブを選択し、[PowerShellを起動]をクリックします。
  2. スクリプト内でSDKコマンドレットを使用するには、PowerShell実行ポリシーを設定する必要があります。 PowerShell実行ポリシーについて詳しくは、Microsoft社のドキュメントを参照してください。
  3. Windows PowerShellコンソールでAdd-PSSnapinコマンドレットを使って、必要なスナップインをPowerShell環境に追加します。 

V1およびV2は、スナップインのバージョンを示します(XenDesktop 5スナップインはV1、XenDesktop 7スナップインはV2です。 たとえば、XenDesktop 7スナップインをインストールするには、コマンドAdd-PSSnapin Citrix.ADIdentity.Admin.V2を実行します)。 すべてのコマンドレットをインポートするには、コマンドAdd-PSSnapin Citrix.*.Admin.V*を実行します。

スナップインを追加した後、コマンドレットおよび関連ヘルプにアクセスできるようになります。

グループポリシーSDK

Group Policy SDKを使用するには、StudioまたはXenApp/XenDesktop SDKのいずれかをインストールする必要があります。

グループポリシーSDKを追加するには、コマンドAdd-PSSnapin citrix.common.grouppolicyを実行します (ヘルプにアクセスするには、コマンドhelp New-PSDrive -path localgpo:/を実行します)。

仮想ドライブを作成して設定を読み込むには、コマンドNew-PSDrive <Standard Parameters> [-PSProvider] CitrixGroupPolicy -Controller <string> を実行します。ここで、は接続して設定を読み込むサイトのControllerの完全修飾ドメイン名です。