SDKおよびAPI

Citrix Virtual AppsおよびDesktops Remote PowerShell SDK

Remote PowerShell(PS)SDKでは、繰り返し行う複雑なタスクを自動化できます。このSDKのメカニズムにより、Studioのユーザーインターフェイスを使用することなく、Citrix Virtual AppsおよびDesktops(旧称XenAppおよびXenDesktop)環境を設定し管理できるようになります。

サポート対象のスナップインの一覧は、「制限事項」に記載しています。このセクションでは、無効なコマンドレットの一覧も示しています。

Citrix Virtual AppsおよびDesktops Delivery Controller SDKとこのSDKの違い

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

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

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

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

マシン上でPowerShell 3.0以降が使用可能であることを確認してください。

  1. インストーラーをダウンロードします:https://download.apps.cloud.com/CitrixPoshSdk.exe。このパッケージには、x86実装とx64実装の両方が含まれています。
  2. ダウンロード先のフォルダーで、インストーラーを見つけて実行します。
  3. ダイアログに従ってインストールを完了します。

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

Citrix Virtual AppsおよびDesktops Remote PS SDKは、そのリソースの場所内にあるドメイン参加済みコンピューターで実行します。

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

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

アンインストール方法:

プログラムの削除または変更を行うWindows機能で、[Citrix Virtual Appsおよび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

制限事項

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

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

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

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

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

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

Citrix.ADIdentity.Admin.V2:

  • Acct:CopyIdentityPool
  • Acct:GetDBConnection
  • Acct:GetDBSchema
  • Acct:GetDBVersionChangeScript
  • Acct:GetInstalledDBVersion
  • Acct:RemoveServiceMetadata
  • Acct:ResetServiceGroupMembership
  • Acct:SetDBConnection
  • Acct:SetServiceMetadata
  • Acct:TestDBConnection

Citrix.Analytics.Admin.V1:

  • Analytics:GetDBConnection
  • Analytics:GetDBSchema
  • Analytics:GetDBVersionChangeScript
  • Analytics:GetInstalledDBVersion
  • Analytics:ImportDataDefinition
  • Analytics:RemoveServiceMetadata
  • Analytics:ResetServiceGroupMembership
  • Analytics:SetDBConnection
  • Analytics:SetServiceMetadata
  • Analytics:SetSite
  • Analytics:TestDBConnection

Citrix.DelegatedAdmin.Admin.V1:

  • Admin:AddPermission
  • Admin:AddRight
  • Admin:GetAdministrator
  • Admin:GetDBConnection
  • Admin:GetDBSchema
  • Admin:GetDBVersionChangeScript
  • Admin:GetInstalledDBVersion
  • Admin:ImportRoleConfiguration
  • Admin:NewAdministrator
  • Admin:NewRole
  • Admin:NewScope
  • Admin:RemoveAdministrator
  • Admin:RemoveAdministratorMetadata
  • Admin:RemovePermission
  • Admin:RemoveRight
  • Admin:RemoveRole
  • Admin:RemoveRoleMetadata
  • Admin:RemoveScope
  • Admin:RemoveScopeMetadata
  • Admin:RemoveServiceMetadata
  • Admin:ResetServiceGroupMembership
  • Admin:SetAdministrator
  • Admin:SetAdministratorMetadata
  • Admin:SetDBConnection
  • Admin:SetRole
  • Admin:SetRoleMetadata
  • Admin:SetScope
  • Admin:SetScopeMetadata
  • Admin:SetServiceMetadata
  • Admin:TestDBConnection

Citrix.Broker.Admin.V2:

  • Broker:GetDBConnection
  • Broker:GetDBSchema
  • Broker:GetDBVersionChangeScript
  • Broker:GetInstalledDBVersion
  • Broker:GetLease
  • Broker:NewMachineConfiguration
  • Broker:RemoveControllerMetadata
  • Broker:RemoveLease
  • Broker:RemoveLeaseMetadata
  • Broker:RemoveMachineConfigurationMetadata
  • Broker:RemoveMachineConfiguration
  • Broker:RemoveSiteMetadata
  • Broker:RemoveUserFromApplication
  • Broker:ResetLicensingConnection
  • Broker:ResetServiceGroupMembership
  • Broker:SetControllerMetadata
  • Broker:SetDBConnection
  • Broker:SetLeaseMetadata
  • Broker:SetMachineConfiguration
  • Broker:SetMachineConfigurationMetadata
  • Broker:SetSite
  • Broker:SetSiteMetadata
  • Broker:TestDBConnection
  • Broker:TestLicenseServer
  • Broker:UpdateBrokerLocalLeaseCache

Citrix.Configuration.Admin.V2:

  • Config:ExportFeatureTable
  • Config:GetDBConnection
  • Config:GetDBSchema
  • Config:GetDBVersionChangeScript
  • Config:GetInstalledDBVersion
  • Config:GetServiceGroup
  • Config:ImportFeatureTable
  • Config:RegisterServiceInstance
  • Config:RemoveRegisteredServiceInstanceMetadata
  • Config:RemoveServiceGroup
  • Config:RemoveServiceGroupMetadata
  • Config:RemoveServiceMetadata
  • Config:RemoveSiteMetadata
  • Config:ResetServiceGroupMembership
  • Config:SetDBConnection
  • Config:SetRegisteredServiceInstance
  • Config:SetRegisteredServiceInstanceMetadata
  • Config:SetServiceGroupMetadata
  • Config:SetServiceMetadata
  • Config:SetSite
  • Config:SetSiteMetadata
  • Config:TestDBConnection
  • Config:UnregisterRegisteredServiceInstance

Citrix.Host.Admin.V2:

  • Hyp:GetDBConnection
  • Hyp:GetDBSchema
  • Hyp:GetDBVersionChangeScript
  • Hyp:GetInstalledDBVersion
  • Hyp:RemoveServiceMetadata
  • Hyp:ResetServiceGroupMembership
  • Hyp:SetDBConnection
  • Hyp:SetServiceMetadata
  • Hyp:TestDBConnection

Citrix.ConfigurationLogging.Admin.V1:

  • Log:GetDBConnection
  • Log:GetDBSchema
  • Log:GetDBVersionChangeScript
  • Log:GetInstalledDBVersion
  • Log:RemoveOperation
  • Log:RemoveServiceMetadata
  • Log:RemoveSiteMetadata
  • Log:ResetDataStore
  • Log:ResetServiceGroupMembership
  • Log:SetDBConnection
  • Log:SetServiceMetadata
  • Log:SetSite
  • Log:SetSiteMetadata
  • Log:TestDBConnection

Citrix.MachineCreation.Admin.V2:

  • Prov:GetDBConnection
  • Prov:GetDBSchema
  • Prov:GetDBVersionChangeScript
  • Prov:GetInstalledDBVersion
  • Prov:GetServiceConfigurationData
  • Prov:RemoveServiceConfigurationData
  • Prov:RemoveServiceMetadata
  • Prov:ResetServiceGroupMembership
  • Prov:SetDBConnection
  • Prov:SetServiceConfigurationData
  • Prov:SetServiceMetadata
  • Prov:TestDBConnection

Citrix.EnvTest.Admin.V1:

  • EnvTest:GetDBConnection
  • EnvTest:GetDBSchema
  • EnvTest:GetDBVersionChangeScript
  • EnvTest:GetInstalledDBVersion
  • EnvTest:RemoveServiceMetadata
  • EnvTest:ResetServiceGroupMembership
  • EnvTest:SetDBConnection
  • EnvTest:SetServiceMetadata
  • EnvTest:TestDBConnection

Citrix.Monitor.Admin.V1:

  • Monitor:GetConfiguration
  • Monitor:GetDBConnection
  • Monitor:GetDBSchema
  • Monitor:GetDBVersionChangeScript
  • Monitor:GetDataStore
  • Monitor:GetDataStore
  • Monitor:GetInstalledDBVersion
  • Monitor:RemoveServiceMetadata
  • Monitor:ResetDataStore
  • Monitor:ResetServiceGroupMembership
  • Monitor:SetConfiguration
  • Monitor:SetDBConnection
  • Monitor:SetServiceMetadata
  • Monitor:TestDBConnection

Citrix.Storefront.Admin.V1:

  • Sf:BuildCluster
  • Sf:GetClusters
  • Sf:GetDBConnection
  • Sf:GetDBSchema
  • Sf:GetDBVersionChangeScript
  • Sf:GetInstalledDBVersion

免責

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

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およびDesktopsサービスAPI:Catalog Service APIのテクニカルプレビュー

Citrix Virtual AppsおよびDesktopsサービスCatalogService APIのテクニカルプレビューについては、 https://developer.cloud.com/_xenapp_and_xendesktop_service/xenapp_and_xendesktop_service.htmlを参照してください。