Kits de développement (SDK) et API

Kit de développement logiciel distant PowerShell SDK Citrix Virtual Apps and Desktops

Le SDK Remote PowerShell (PS) automatise les tâches complexes et répétitives. Il fournit le mécanisme qui permet de configurer et gérer l’environnement Citrix Virtual Apps and Desktops (anciennement XenApp and XenDesktop) sans avoir à utiliser l’interface utilisateur de Studio.

Les composants logiciels enfichables pris en charge sont répertoriés dans la section Limites. Cette section répertorie également les applets de commande qui sont désactivées.

Différences entre ce SDK et le SDK Citrix Virtual Apps and Desktops Delivery Controller

Dans un déploiement Citrix Virtual Apps and Desktops entièrement installé et géré par les administrateurs du client, ces administrateurs exécutent des scripts et applets de commande dans un site contenant des VDA et des Delivery Controller au sein d’une structure de domaine commune. Par comparaison, le service Citrix Virtual Apps and Desktops répartit les VDA et les Controller dans un emplacement de ressources et le plan de contrôle, respectivement. Cette répartition signifie que le SDK Citrix Virtual Apps and Desktops PS d’origine ne fonctionnera pas dans un environnement de service Citrix Virtual Apps and Desktops, car il ne peut pas traverser la limite sécurisée entre l’emplacement de ressources et le plan de contrôle.

La solution est le kit de développement logiciel distant PowerShell SDK Citrix Virtual Apps and Desktops. Lorsqu’il est exécuté dans l’emplacement de ressources, le SDK Remote PS accède au plan de contrôle comme s’il était local, et fournit les mêmes fonctionnalités qu’un site Citrix Virtual Apps and Desktops. Seule une faible couche de communication non visible existe, optimisée pour fonctionner soit dans un seul site local, soit dans l’environnement de cloud. Les applets de commande sont identiques et la plupart des scripts existants fonctionnent de la même façon.

L’applet de commande Get-XdAuthentication fournit l’autorisation permettant de traverser la limite sécurisée entre l’emplacement de ressources et le plan de contrôle. Par défaut, Get-XdAuthentication invite les utilisateurs à entrer des informations d’identification CAS, ce qui doit être effectué une seule fois par session PowerShell. L’utilisateur peut également définir un profil d’authentification à l’aide d’un client sécurisé d’accès aux API, créé dans la console Citrix Cloud. Dans les deux cas, les informations de sécurité sont conservées afin de pouvoir être utilisées dans les appels ultérieurs du SDK PS. Si cette applet de commande n’est pas explicitement exécutée, elle est appelée par la première applet de commande du SDK PS.

Installer et utiliser le SDK Remote PowerShell

Assurez-vous que PowerShell 3.0 ou version ultérieure est disponible sur la machine.

  1. Téléchargez le programme d’installation : https://download.apps.cloud.com/CitrixPoshSdk.exe. Le package contient les implémentations x86 et x64.
  2. Dans le dossier téléchargé, recherchez et exécutez le programme d’installation.
  3. Suivez les dialogues pour procéder à l’installation.

Des journaux d’installation sont créés dans %TEMP%\CitrixLogs\CitrixPoshSdk. Ils peuvent aider à résoudre les problèmes d’installation.

Exécutez le SDK Citrix Virtual Apps and Desktops Remote PS sur un ordinateur joint au domaine dans cet emplacement de ressources :

  • Ouvrez une invite de commandes PowerShell. Vous n’avez pas besoin de l’exécuter en tant qu’administrateur
  • Ajoutez les composants logiciels enfichables Citrix : asnp citrix.
  • Vous pouvez vous authentifier explicitement à l’aide de l’applet de commande Get-XdAuthentication. Ou, exécutez votre première commande du SDK Citrix Virtual Apps and Desktops PS, qui vous invitera à utiliser la même authentification que Get-XdAuthentication.
  • Pour contourner l’invite d’authentification, vous pouvez utiliser l’applet de commande Set-XdCredentials pour créer un profil d’authentification par défaut, à l’aide d’un client sécurisé créé dans la console Citrix Cloud.
  • Continuez à exécuter les applets de commande du SDK PS ou les scripts d’automatisation du SDK PS. Voici un exemple ci-dessous.

Citrix recommande de ne pas exécuter les applets de commande de ce SDK sur les Cloud Connector. Le fonctionnement du SDK n’implique pas les Cloud Connector.

Désinstallation :

À partir de la fonctionnalité Windows de suppression ou modification des programmes, sélectionnez Citrix Virtual Apps and Desktops Remote PowerShell SDK. Cliquez avec le bouton droit et sélectionnez Désinstaller. Suivez les dialogues.

Exemples d’activités

Les activités courantes incluent la configuration de catalogues de machines, d’applications et d’utilisateurs. Un exemple de script est illustré ci-dessous.

    $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

Limitations

Les composants logiciels enfichables PowerShell Citrix Virtual Apps and Desktops suivants sont pris en charge dans cette version:

  • Broker
  • Identité Active Directory (AD)
  • Création d’une machine
  • Configuration
  • Journalisation de la configuration
  • Hôte
  • Administration déléguée
  • Analyse

Pour plus d’informations sur les applets de commande dans ces composants logiciels enfichables, consultez la section Citrix Virtual Apps and Desktops SDK.

Une fois authentifié, l’accès distant reste valide dans la session PowerShell en cours pendant 24 heures. Passé ce délai, vous devez entrer vos informations d’identification.

Le SDK Remote PS doit être exécuté sur un ordinateur dans l’emplacement de ressources.

Les applets de commande suivantes sont désactivées dans les opérations à distance pour maintenir l’intégrité et la sécurité du plan de contrôle du 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

Avis

Ce logiciel/exemple de code est fourni « en l’état », sans aucune déclaration, garantie ou condition. Vous pouvez l’utiliser, le modifier et le distribuer à vos propres risques. CITRIX EXCLUT TOUTE GARANTIE EXPRESSE, TACITE, ÉCRITE, ORALE OU LÉGALE, Y COMPRIS, MAIS SANS S’Y LIMITER, TOUTE GARANTIE DE QUALITÉ MARCHANDE, D’ADÉQUATION À UN USAGE PARTICULIER, DE PROPRIÉTÉ ET D’ABSENCE DE CONTREFAÇON. Nonobstant ce qui précède, vous reconnaissez et acceptez (a) que le logiciel/exemple de code peut présenter des erreurs, des défauts de conception ou d’autres problèmes, susceptibles d’entraîner une perte de données ou des dommages à la propriété ; (b) qu’il peut être impossible de rendre le logiciel/exemple de code entièrement opérationnel ; et (c) que Citrix peut, sans préavis ni responsabilité, cesser de mettre à votre disposition la version actuelle et/ou les versions futures du logiciel/exemple de code. En aucun cas le logiciel/code ne devra être utilisé dans le cadre d’activités à haut risque, telles que, mais sans limitation aucune, les activités de maintien en vie ou d’explosion. CITRIX, SES FILIALES OU SES AGENTS NE POURRONT ÊTRE RESPONSABLES, EN VERTU D’UNE RUPTURE DE CONTRAT OU DE TOUTE AUTRE THÉORIE DE RESPONSABILITÉ, DE TOUT DOMMAGE RÉSULTANT DE L’UTILISATION DU LOGICIEL/EXEMPLE DE CODE, Y COMPRIS MAIS SANS LIMITATION AUCUNE, LES DOMMAGES DIRECTS, SPÉCIAUX, ACCESSOIRES, PUNITIFS, INDIRECTS OU AUTRES, MÊME S’ILS ONT ÉTÉ PRÉVENUS DE L’ÉVENTUALITÉ DE TELS DOMMAGES. Vous acceptez d’assurer l’indemnisation et la défense de Citrix contre toute réclamation résultant de l’utilisation, de la modification ou de la distribution du code.

API Monitor Service OData

En plus d’utiliser les fonctions de surveillance pour afficher les données d’historique, vous pouvez interroger les données à l’aide de l’API de Monitor Service. Vous pouvez utiliser l’API pour :

  • Analyser des tendances historiques pour la planification
  • Effectuer une résolution des problèmes détaillées des échecs de connexion et de machine
  • Extraire des informations afin de les envoyer dans d’autres outils et processus ; par exemple, à l’aide des tables PowerPivot de Microsoft Excel pour afficher les données de différentes manières
  • Créer une interface utilisateur personnalisée en plus des données offertes par l’API

Pour de plus amples informations, consultez Monitor Service OData API. Pour obtenir des instructions sur l’accès à l’API Monitor Service, consultez la section Accéder aux données de Monitor Service à l’aide du point de terminaison OData v4 dans Citrix Cloud.

API de service Citrix Virtual Apps and Desktops SDK : aperçu technique des API de service de catalogue

Une tech preview des API du service de catalogues de XenApp and XenDesktop Service est disponible sur https://developer.cloud.com/_xenapp_and_xendesktop_service/xenapp_and_xendesktop_service.html.