Citrix Virtual Apps and Desktopsサービス

SDKおよびAPI

Citrix Virtual Apps and Desktops Remote PowerShell SDK

Remote PowerShell SDKでは、繰り返し行う複雑なタスクを自動化できます。このSDKのメカニズムにより、[管理]ユーザーインターフェイスを使用することなく、Citrix Virtual Apps and Desktopsサービス環境を設定し管理できるようになります。

このSDKと顧客管理の環境のSDKの違い

顧客管理者がインストールと管理を担当するCitrix Virtual Apps and Desktops環境では、それらの管理者が、共通ドメイン構造内にVDAとDelivery Controllerを含むサイトでコマンドレットとスクリプトを実行します。一方、Citrix Virtual Apps and Desktopsサービスでは、VDAとDelivery Controllerはそれぞれリソースの場所とコントロールプレーンに分けられています。このように分割されているため、元のCitrix Virtual Apps and Desktops PowerShell SDKは、Citrix Virtual Apps and Desktopsサービス環境では使用できません。SDKが、リソースの場所とコントロールプレーンのセキュリティによる境界を越えられないからです。

この解決策となるのが、Citrix Virtual Apps and Desktops Remote PowerShell SDKです。リソースの場所で実行すると、Remote PowerShell SDKはローカルであるかのようにコントロールプレーンにアクセスします。これにより、単一のCitrix Virtual Apps and Desktopsサイトと同じ機能が提供されます。存在する通信レイヤーは最下層の不可視のものだけであり、単一のローカルサイトまたはクラウド環境で機能するように拡張されています。コマンドレットは同一であり、既存のスクリプトのほとんどは変更されていません。

Get-XdAuthenticationコマンドレットでは、セキュリティで保護されたリソースの場所とコントロールプレーンとの境界を越えるための認証を行います。デフォルトでは、Get-XdAuthenticationではCAS資格情報の入力が求められます。また、このコマンドレットはPowerShellセッションごとに1回実行する必要があります。Citrix CloudコンソールでAPIアクセス用セキュアクライアントを作成し、このクライアントを使用する認証プロファイルを定義することもできます。どちらの場合でも、セキュリティ情報は以降のPowerShell SDK呼び出し用に保持されます。このコマンドレットが明示的に実行されない場合には、最初のPowerShell SDKコマンドレットによって呼び出されます。

Remote PowerShell SDKをインストールして使用する

要件:

注:

Remote PowerShell SDKをCitrix Cloud Connectorマシンにインストールしないでください。同じリソースの場所内のドメイン参加済みマシンにはインストールできます。

このSDKのコマンドレットは、Cloud Connectorでは実行しないことをお勧めします。これは、SDKの操作にCloud Connectorは関係しないためです。

(Virtual Apps and Desktopsサービス展開に加えて)オンプレミスのCitrix Virtual Apps and Desktops展開もある場合は、オンプレミスのDelivery ControllerマシンにRemote PowerShell SDKをインストールしないでください。

  • マシン上でPowerShell 3.0以降が使用できる必要があります。
  • .NET Framework 4.8(またはそれ以降のサポートされているバージョン)がまだインストールされていない場合、SDKインストーラーによりダウンロードおよびインストールされます。
  • マシンにCitrix Virtual Apps and Desktops SDKが既にインストールされている場合、(Windowsプログラムや機能から)このSDKを削除してからRemote PowerShell SDKをインストールしてください。

Remote PowerShell SDKをインストールするには:

  1. ダウンロードページから、Virtual Apps and Desktops Remote PowerShell SDKをダウンロードします。
  2. SDKをインストールして実行します。

インストールログは%TEMP%\CitrixLogs\CitrixPoshSdkに作成されます。このログは、インストールの問題の解決に役立ちます。

このSDKは、そのリソースの場所内にあるドメイン参加済みコンピューターで実行します:

  • PowerShellコマンドプロンプトを開きます。管理者として実行する必要はありません。
  • Citrixスナップインを追加します:asnp citrix.*
  • 認証を明示的に行うには、Get-XdAuthenticationコマンドレットを使用します。このコマンドレットを使用せずに、最初のCitrix Virtual Apps and Desktops PowerShell SDKコマンドを実行すると、Get-XdAuthenticationと同じ認証が求められます。
  • 認証プロンプトを省略するには、Set-XdCredentialsコマンドレットを使用して、Citrix Cloudコンソールで作成したセキュアクライアントを使用するデフォルトの認証プロファイルを作成します。
  • 引き続きPowerShell SDKコマンドレットまたはPowerShell SDK自動スクリプトを実行します。を参照してください。

Remote PowerShell SDKをアンインストールするには、プログラムの削除または変更を行うWindows機能で、[Citrix Virtual Apps and Desktops Remote PowerShell SDK] を選択します。右クリックして [アンインストール] を選択します。ダイアログの手順を実行します。

アクティビティの例

一般的なアクティビティとしては、マシンカタログ、アプリケーション、ユーザーの設定が挙げられます。サンプルスクリプトを以下に示します。

    $users = "xd.local\Domain Users"

    $TSVDACatalogName = "TSVDA"

    $TSVDADGName = "TSVDA"

    $TSVDAMachineName = "xd\ds-tsvda2"

    #Create TSVDA Catalog

    $brokerUsers = New-BrokerUser -Name $users

    $catalog = New-BrokerCatalog -Name $TSVDACatalogName -AllocationType "Random" -Description $TSVDACatalogName -PersistUserChanges "OnLocal" -ProvisioningType "Manual" -SessionSupport "MultiSession" -MachinesArePhysical $true

    #Add TSVDA Machine to Catalog

    $BrokeredMachine = New-BrokerMachine -MachineName $TSVDAMachineName -CatalogUid $catalog.uid

    #Create new desktops & applications delivery group

    $dg = New-BrokerDesktopGroup -Name $TSVDADGName -PublishedName $TSVDADGName -DesktopKind "Shared" -SessionSupport "MultiSession" -DeliveryType DesktopsAndApps -Description $TSVDADGName

    #Create notepad application

    New-BrokerApplication -ApplicationType HostedOnDesktop -Name "Notepad" -CommandLineExecutable "notepad.exe" -DesktopGroup $dg

    #Assign users to desktops and applications

    New-BrokerEntitlementPolicyRule -Name $TSVDADGName -DesktopGroupUid $dg.Uid -IncludedUsers $brokerUsers -description $TSVDADGName

    New-BrokerAccessPolicyRule -Name $TSVDADGName -IncludedUserFilterEnabled $true -IncludedUsers $brokerUsers -DesktopGroupUid $dg.Uid -AllowedProtocols @("HDX","RDP")

    New-BrokerAppEntitlementPolicyRule -Name $TSVDADGName -DesktopGroupUid $dg.Uid -IncludedUsers $brokerUsers -description $TSVDADGName

    #Add machine to delivery group

    Add-BrokerMachine -MachineName $TSVDAMachineName -DesktopGroup $dg
<!--NeedCopy-->

サポートと制限事項

このリリースでサポートされるCitrix Virtual Apps and Desktops PowerShellスナップインは次のとおりです:

  • ブローカー
  • Active Directory(AD)ID
  • マシンの作成
  • 構成
  • 構成ログ
  • ホスト
  • 委任管理
  • Analytics

これらのスナップインのコマンドレットについて詳しくは、「Citrix Virtual Apps and Desktops SDK」を参照してください。

認証のあと、リモートアクセスは24時間にわたり現在のPowerShellセッションで有効なままになります。この期限後は、資格情報の入力が必要になります。

Remote PowerShell SDKは、リソースの場所内にあるコンピューターで実行する必要があります。

Citrix Cloudのコントロールプレーンの整合性とセキュリティを維持するため、リモート操作では以下のコマンドレットは無効化されています。

Citrix.ADIdentity.Admin.V2:

  • Copy-AcctIdentityPool
  • Get-AcctDBConnection
  • Get-AcctDBSchema
  • Get-AcctDBVersionChangeScript
  • Get-AcctInstalledDBVersion
  • Remove-AcctServiceMetadata
  • Reset-AcctServiceGroupMembership
  • Set-AcctDBConnection
  • Set-AcctServiceMetadata
  • Test-AcctDBConnection

Citrix.Analytics.Admin.V1:

  • Get-AnalyticsDBConnection
  • Get-AnalyticsDBSchema
  • Get-AnalyticsDBVersionChangeScript
  • Get-AnalyticsInstalledDBVersion
  • Import-AnalyticsDataDefinition
  • Remove-AnalyticsServiceMetadata
  • Reset-AnalyticsServiceGroupMembership
  • Set-AnalyticsDBConnection
  • Set-AnalyticsServiceMetadata
  • Set-AnalyticsSite
  • Set-AnalyticsDBConnection

Citrix.DelegatedAdmin.Admin.V1:

  • Add-AdminRight
  • Get-AdminDBConnection
  • Get-AdminDBSchema
  • Get-AdminDBVersionChangeScript
  • Get-AdminInstalledDBVersion
  • Import-AdminRoleConfiguration
  • New-AdminAdministrator
  • Remove-AdminAdministrator
  • Remove-AdminAdministratorMetadata
  • Remove-AdminRight
  • Remove-AdminServiceMetadata
  • Reset-AdminServiceGroupMembership
  • Set-AdminAdministrator
  • Set-AdminAdministratorMetadata
  • Set-AdminDBConnection
  • Set-AdminServiceMetadata
  • Test-AdminDBConnection

Citrix.Broker.Admin.V2:

  • Get-BrokerDBConnection
  • Get-BrokerDBSchema
  • Get-BrokerDBVersionChangeScript
  • Get-BrokerInstalledDBVersion
  • Get-BrokerLease
  • New-BrokerMachineConfiguration
  • Remove-BrokerControllerMetadata
  • Remove-BrokerLease
  • Remove-BrokerLeaseMetadata
  • Remove-BrokerMachineConfigurationMetadata
  • Remove-BrokerMachineConfiguration
  • Remove-BrokerSiteMetadata
  • Remove-BrokerUserFromApplication
  • Reset-BrokerLicensingConnection
  • Reset-BrokerServiceGroupMembership
  • Set-BrokerControllerMetadata
  • Set-BrokerDBConnection
  • Set-BrokerLeaseMetadata
  • Set-BrokerMachineConfiguration
  • Set-BrokerMachineConfigurationMetadata
  • Set-BrokerSiteMetadata
  • Test-BrokerDBConnection
  • Test-BrokerLicenseServer
  • Update-BrokerBrokerLocalLeaseCache

Citrix.Configuration.Admin.V2:

  • Export-ConfigFeatureTable
  • Get-ConfigDBConnection
  • Get-ConfigDBSchema
  • Get-ConfigDBVersionChangeScript
  • Get-ConfigInstalledDBVersion
  • Get-ConfigServiceGroup
  • Import-ConfigFeatureTable
  • Register-ConfigServiceInstance
  • Remove-ConfigRegisteredServiceInstanceMetadata
  • Remove-ConfigServiceGroup
  • Remove-ConfigServiceGroupMetadata
  • Remove-ConfigServiceMetadata
  • Remove-ConfigSiteMetadata
  • Reset-ConfigServiceGroupMembership
  • Set-ConfigDBConnection
  • Set-ConfigRegisteredServiceInstance
  • Set-ConfigRegisteredServiceInstanceMetadata
  • Set-ConfigServiceGroupMetadata
  • Set-ConfigServiceMetadata
  • Set-ConfigSite
  • Set-ConfigSiteMetadata
  • Test-ConfigDBConnection
  • Unregister-ConfigRegisteredServiceInstance

Citrix.Host.Admin.V2:

  • Get-HypDBConnection
  • Get-HypDBSchema
  • Get-HypDBVersionChangeScript
  • Get-HypInstalledDBVersion
  • Remove-HypServiceMetadata
  • Reset-HypServiceGroupMembership
  • Set-HypDBConnection
  • Set-HypServiceMetadata
  • Test-HypDBConnection

Citrix.ConfigurationLogging.Admin.V1:

  • Get-LogDBConnection
  • Get-LogDBSchema
  • Get-LogDBVersionChangeScript
  • Get-LogInstalledDBVersion
  • Remove-LogOperation
  • Remove-LogServiceMetadata
  • Remove-LogSiteMetadata
  • Reset-LogDataStore
  • Reset-LogServiceGroupMembership
  • Set-LogDBConnection
  • Set-LogServiceMetadata
  • Set-LogSite
  • Set-LogSiteMetadata
  • Test-LogDBConnection

Citrix.MachineCreation.Admin.V2:

  • Get-ProvDBConnection
  • Get-ProvDBSchema
  • Get-ProvDBVersionChangeScript
  • Get-ProvInstalledDBVersion
  • Get-ProvServiceConfigurationData
  • Remove-ProvServiceConfigurationData
  • Remove-ProvServiceMetadata
  • Reset-ProvServiceGroupMembership
  • Set-ProvDBConnection
  • Set-ProvServiceConfigurationData
  • Set-ProvServiceMetadata
  • Test-ProvDBConnection

Citrix.EnvTest.Admin.V1:

  • Get-EnvTestDBConnection
  • Get-EnvTestDBSchema
  • Get-EnvTestDBVersionChangeScript
  • Get-EnvTestInstalledDBVersion
  • Remove-EnvTestServiceMetadata
  • Reset-EnvTestServiceGroupMembership
  • Set-EnvTestDBConnection
  • Set-EnvTestServiceMetadata
  • Test-EnvTestDBConnection

Citrix.Monitor.Admin.V1:

  • Get-MonitorConfiguration
  • Get-MonitorDBConnection
  • Get-MonitorDBSchema
  • Get-MonitorDBVersionChangeScript
  • Get-MonitorDataStore
  • Get-MonitorDataStore
  • Get-MonitorInstalledDBVersion
  • Remove-MonitorServiceMetadata
  • Reset-MonitorDataStore
  • Reset-MonitorServiceGroupMembership
  • Set-MonitorConfiguration
  • Set-MonitorDBConnection
  • Set-MonitorServiceMetadata
  • Test-MonitorDBConnection

Citrix.Storefront.Admin.V1:

  • Build-SfCluster
  • Get-SfClusters
  • Get-SfDBConnection
  • Get-SfDBSchema
  • Get-SfDBVersionChangeScript
  • Get-SfInstalledDBVersion

App-Vパッケージおよびサーバー用のCitrix Virtual Apps and Desktopsサービス検出モジュール

Citrix Virtual Apps and Desktopsサービスでは、次のいずれかの方法を使用して、App-Vパッケージに含まれるアプリケーションをエンドポイントに配信できます:

  • シングル管理方式(ネットワーク共有からパッケージにアクセス)
  • デュアル管理方式(Microsoft App-V管理サーバーからパッケージにアクセス)

Citrix Virtual Apps and Desktopsサービスを使用してApp-VパッケージおよびMicrosoft App-V管理サーバーと公開サーバーをアプリケーションライブラリに登録するプロセスは、オンプレミス展開を使用したパッケージ登録とは多少異なります。ただし、アプリケーションをユーザーに割り当て、それらをユーザーのエンドポイントで起動するプロセスはどちらでも同じです。

Citrix Cloudのサービス管理コンソールでは、リソースの場所にあるファイルを表示できません。また、インフラストラクチャ内のApp-VパッケージまたはMicrosoft App-Vサーバーを直接検出することはできません。検出モジュールは、オンプレミスのインフラストラクチャ内のApp-Vパッケージ情報を検出し、そのパッケージ情報をVirtual Apps and Desktopサービスにアップロードする機能を提供します。パッケージ情報には、App-Vパッケージ、Microsoft App-Vサーバー、およびパッケージ内のアプリが含まれます。

この検出モジュールは、Virtual Apps and Desktops Remote PowerShell SDKを使用します。ネットワーク共有またはMicrosoft App-V管理サーバーから、パッケージ情報を検出できます。検出モジュールは、リソースの場所にあるマシンで使用します。

検出モジュールを使用するための前提条件:

  • マシン上でPowerShell 3.0以降が使用できる必要があります。
  • Citrix Virtual Apps and Desktops Remote PowerShell SDKがマシンにインストールされている必要があります。
  • App-Vパッケージが置かれたネットワーク共有へのアクセス権を有している必要があります。
  • Citrix Cloud Connectorがインストールされ、Microsoft App-V管理サーバーがホストされているサーバーへのアクセス権を有している必要があります。

App-VパッケージをCitrix Cloudのアプリケーションライブラリに追加する

以下の手順は、ネットワーク共有からApp-Vパッケージを追加する場合(シングル管理方式)、およびMicrosoft App-V管理サーバーからすべての公開App-Vパッケージを追加する場合(デュアル管理方式)に有効です。デュアル管理方式を使用する場合は、シングル管理方式を使用する場合と同様に、追加するApp-Vパッケージを管理する必要があります。

  1. Citrix Virtual Apps and Desktopsサービスのダウンロードページhttps://www.citrix.com/downloads/citrix-cloud/product-software/xenapp-and-xendesktop-service.htmlから、検出モジュールをダウンロードします。使いやすいフォルダーにzipファイルCitrix.Cloud.AppLibrary.Admin.v1.psm1を展開します。

    注:

    このファイルは、Citrix Virtual Apps and Desktops ISOのSupport\Tools\Scriptsでも提供されています。ローカルにコピーすることも、CDドライブから直接参照することもできます。

  2. Citrix Virtual Apps and Desktops Remote PowerShell SDKがマシンにインストールされているかを確認します。

  3. 検出モジュールを含むフォルダーに移動します。PowerShellウィンドウで、検出モジュールを含むフォルダーのフルパスを入力し、Enterキーを押します。

  4. コマンドImport-Module.\Citrix.Cloud.AppLibrary.Admin.v1.psm1を使用して検出モジュールをインポートします。

  5. 次のいずれかの方法を使用して、App-VパッケージをCitrix Cloudのアプリケーションライブラリに追加します。

    • ネットワーク共有からApp-Vパッケージを追加するには、次のPowerShellコマンドレットを実行します:Import-AppVPackageToCloud

      たとえば、次のようになります:Import-AppVPackageToCloud –PackagePath \\AppVSrv\share\Notepad++.appv

      コマンドレットヘルプについては、Get-Help Import-AppVPackageToCloudと入力してください。

    • Microsoft App-V管理サーバーからApp-Vパッケージを追加するには、次のPowerShellコマンドレットを実行します:Import-AppVPackagesFromManagementServerToCloud

      たとえば、次のようになります:Import-AppVPackagesFromManagementServerToCloud –ManagementSrvFQDN AppVMngSrv.domain.local

      コマンドレットヘルプについては、Get-Help Import-AppVPackagesFromManagementServerToCloudと入力してください。

      このコマンドは、公開されたすべてのApp-VパッケージをMicrosoft App-V管理サーバーからCitrix Cloudにインポートします。

      App-VパッケージをCitrix Cloudに追加したら、シングル管理方式と同様に管理する必要があります。

  6. Citrix Cloudにサインインします。ターゲット顧客を選択します。スクリプトが正常に実行されると、App-VパッケージがCitrix Cloudのアプリケーションライブラリに追加されます。

Citrix CloudのアプリケーションライブラリからのApp-Vパッケージの削除

Citrix CloudのアプリケーションライブラリからApp-Vパッケージを削除するには、オンプレミス展開環境の「アプリケーションライブラリからのApp-Vパッケージの削除」を参照してください。

High-level PowerShell関数

このモジュールには、独自のPowerShellスクリプトから呼び出すことができる次の高レベル関数が含まれています:

  • Import-AppVPackageToCloud -PackagePath <Full UNC path to App-V package>

    1つのApp-Vパッケージからアプリケーションを公開するために必要なすべての情報を検出し、Citrix Virtual Apps and Desktopsサービスにアップロードします。

  • Import-AppVPackagesFromManagementServerToCloud -ManagementSrvFQDN <FQDN of a Microsoft App-V Management Server>

    管理サーバーによって公開されたパッケージのUNCパスを検出し、そのImport-AppVPackageToCloudを順番に呼び出します。

    この方法で検出されたパッケージは、シングル管理方式を使用してCitrix Virtual Apps and Desktopsサービスに読み込まれます。Citrix Virtual Apps and Desktopsサービスは、デュアル管理方式を使用してパッケージを配信することはできません。

  • Import-AppVDualAdminToCloud -ManagementSrvUrl <URL of a Microsoft App-V Management Server> -PublishingServerUrl <URL of a Microsoft App-V Publishing Server>

    Microsoft App-V管理サーバーと公開サーバーを検出し、コンテンツをアプリケーションライブラリにインポートします。このコマンドレットは、Microsoft App-V管理サーバーおよび関連情報を使用して管理されるすべてのパッケージをインポートします。サーバーは、PowerShellを使用して追加および削除できます。

    このコマンドレットは、デュアル管理モードでApp-Vパッケージを追加します。Microsoft App-V管理サーバー上で公開され、Active Directoryグループが追加されているApp-Vパッケージのみがインポートされます。Microsoft App-V管理サーバーに変更を加えた場合は、このコマンドレットを再実行して、アプリケーションライブラリをMicrosoft App-V管理サーバーと同期させます。

  • Remove-AppVServerFromCloud -ManagementSrvUrl <URL of a Microsoft App-V Management Server> -PublishingServerUrl <URL of a Microsoft App-V Publishing Server>

    アプリケーションライブラリに追加されたMicrosoft App-V管理サーバーと公開サーバーを削除します。

    このコマンドレットは、指定されたMicrosoft App-V管理サーバーと公開サーバー、関連付けられているすべてのApp-Vパッケージを削除します。

そのリソースの場所内にあるドメイン参加済みコンピューターで、App-Vパッケージおよびサーバー用の検出モジュールを実行します。「Remote PowerShell SDKをインストールして使用する」のガイダンスに従って開始してください。引き続きPowerShellコマンドレットまたはスクリプトを実行します。以下の例を参照してください。

アクティビティの例

Virtual Apps and DesktopsサービスのApp-Vパッケージ用検出モジュールをインポートします。

import-module "D:\Support\Tools\Scripts\Citrix.Cloud.AppLibrary.Admin.v1.psm1"
<!--NeedCopy-->

App-Vパッケージのストアディレクトリをループし、各パッケージをアップロードします。

Get-ChildItem -Path "\FileServer.domain.net\App-V Packages" -Filter *.appv |
Foreach-Object{
    Import-AppVPackageToCloud -PackagePath $_.FullName
}
<!--NeedCopy-->

Microsoft App-V管理サーバーに登録されているパッケージを検出してアップロードします。

Import-AppVPackagesFromManagementServerToCloud -ManagementSrvFQDN AppVManagementServer.domain.net
<!--NeedCopy-->

Microsoft App-V管理サーバーと公開サーバーを検出し、構成をアプリケーションライブラリに追加します。これにより、Microsoft App-V管理サーバーが管理するすべてのパッケージもデュアル管理モードでインポートされます。

Import-AppVDualAdminCloud -ManagementSrvUrl http://AppVManagementServer.domain.net –PublishingServerUrl http://AppVManagementServer.domain.net:8001
<!--NeedCopy-->

モジュールに含まれているPowerShellのヘルプドキュメントを読みます。

Get-Help Import-AppVPackageToCloud
<!--NeedCopy-->

制限事項

  • Citrix Cloudのサービス管理コンソールから直接、リソースの場所のインフラストラクチャ上のApp-Vパッケージを検出できません。
  • Citrix Cloudのサービス管理コンソールに、Microsoft App-V管理サーバーへのライブ接続がありません。Microsoft App-V管理サーバーのパッケージおよびその他の構成を変更すると、Import-AppVDualAdminCloudを再実行するまでサービス管理コンソールには反映されません。これはオンプレミスのパッケージ検出動作とは異なります。

Monitor Service OData API

管理者は、監視機能で表示した履歴データを、Monitor ServiceのAPIを使って照会できます。APIを使用して次のことを行います:

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

詳しくは、「Monitor Service OData API」を参照してください。Monitor Service APIへのアクセスについては、「Access Monitor Service data using the OData v4 endpoint in Citrix Cloud」を参照してください。

Citrix Virtual Apps and DesktopsサービスAPI

Virtual Apps and DesktopsサービスAPIは、https://developer.cloud.com/citrixworkspace/virtual-apps-and-desktopsを参照してください。

免責事項

このソフトウェアおよびサンプルコードは「現状のまま」提供され、いかなる種類の説明、保証、条件も付与されません。これらは、自己の責任において使用、変更、配布することができます。Citrixは、商品性、特定用途に対する適合性、資格、非侵害性に関するあらゆる保証を含む、明示、黙示、書面、口頭、法定によるいかなる保証も一切付与しません。前述の一般性を制限することなく、ユーザーは、(a)このソフトウェアおよびサンプルコードにはエラー、設計上の欠陥その他の問題が含まれている可能性があり、その結果データ損失または所有物の損傷が生じる可能性があること、(b)このソフトウェアおよびサンプルコードは完全には機能しない可能性があること、(c)Citrixは、通知なしで、もしくはユーザーに対して一切責任を負わず、このソフトウェアおよびサンプルコードの現行バージョンおよび/または将来のバージョンの提供を取り止める場合があることを承認、同意します。いかなる場合でも、このソフトウェアおよびコードは、生命維持関連または爆発物関連の作業を含む、ただしそれに限定されない、極度に危険な作業に使用すべきではありません。Citrix、その関連会社および代理店は、直接的、特別、付随的、懲罰的、間接的なあらゆる損害を含む、このソフトウェアまたはサンプルコードの使用により生じたあらゆる損害について、そのような損害の可能性について知らされていた場合でも、契約の不履行または責任に関するその他のあらゆる見解の不履行の下では、一切の責任を負いません。ユーザーは、ユーザーによるこのコードの使用、変更、配布により生じたいかなる申し立てに対しても、Citrixを免責し、Citrixを弁護することに同意します。