Kits de développement (SDK) et API

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

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 Limitations. 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, Citrix Virtual Apps and Desktops Service 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 Citrix Virtual Apps and Desktops Service, 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

Exigences :

  • Assurez-vous que PowerShell 3.0 ou version ultérieure est disponible sur la machine.
  • Si le SDK Citrix Virtual Apps and Desktops Delivery Controller est installé sur la machine, supprimez ce SDK (à partir de Programmes et fonctionnalités de Windows) avant d’installer le SDK Remote PowerShell.

Pour installer et utiliser le SDK Remote PowerShell :

  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
  • Analytics

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

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:

  • 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-BrokerSite
  • 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

Module de découverte Citrix Virtual Apps and Desktops pour les packages App-V

Citrix Virtual Apps and Desktops Service peut fournir les applications contenues dans les packages App-V à vos postes de travail à l’aide de la méthode de gestion « administration unique ». Le processus d’enregistrement des packages App-V dans la bibliothèque d’applications à l’aide de Citrix Virtual Apps and Desktops Service diffère légèrement de l’enregistrement de packages à l’aide d’un déploiement local. Cependant, le processus d’attribution d’applications aux utilisateurs et de lancement sur le poste d’un utilisateur est identique.

La console de gestion des services dans Citrix Cloud ne peut pas voir les fichiers dans un emplacement de ressources, et elle ne peut pas détecter directement les packages App-V sur votre infrastructure. Le module de détection contient des fonctions PowerShell que vous pouvez exécuter sur une machine de votre emplacement de ressources pour détecter les packages App-V et les applications qu’ils contiennent, et transmettre ces informations à Citrix Virtual Apps and Desktops Service.

Installer et utiliser le module de détection des packages App-V

Exigences :

  • Assurez-vous que PowerShell 3.0 ou version ultérieure est disponible sur la machine.
  • Assurez-vous que le le SDK Remote PowerShell Citrix Virtual Apps and Desktops est installé sur la machine.

Pour installer le module de détection des packages App-V :

Téléchargez le fichier de module PowerShell signé Citrix.cloud.Applibrary.admin.v1.psm1 : page de téléchargement de Citrix Virtual Apps and Desktops. (Ce fichier est également fourni sur l’ISO Citrix Virtual Apps and Desktops dans Support\Tools\Scripts où il peut être copié localement ou référencé directement à partir du lecteur CD.)

Le module contient les fonctions de haut niveau suivantes que vous pouvez appeler à partir de votre propre script PowerShell :

  • Import-AppVPackageToCloud -PackagePath <chemin d’accès complet UNC au package App-V> Détecte et charge sur Citrix Virtual Apps and Desktops Service toutes les informations nécessaires à la publication d’applications à partir d’un package App-V unique.
  • Import-AppVPackagesFromManagementServerToCloud -ManagementSrvFQDN <FQDN d’un serveur de gestion Microsoft App-V> Détecte les chemins UNC des packages publiés par le serveur de gestion et appelle Import-AppVPackageToCloud pour chacun d’eux à tour de rôle.

    Remarque :

    Les packages détectés de cette manière sont chargés sur Citrix Virtual Apps and Desktops Service à l’aide de la méthode de gestion d’administration unique. Citrix Virtual Apps and Desktops Service ne peut pas fournir de packages à l’aide de la méthode de gestion à double administration.

Exécutez le module de détection des packages App-V sur un ordinateur joint à un 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 premier module de détection pour la commande App-V PS SDK, qui vous invite à fournir la même authentification que pour 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. Voir les exemples suivants.

Exemples d’activités

Importer le module de détection de packages App-V de Citrix Virtual Apps and Desktops Service

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

Lire en boucle le répertoire du magasin de packages App-V et charger chaque paquet

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

Détecter et charger des packages enregistrés avec un serveur de gestion Microsoft App-V

Import-AppVPackagesFromManagementServerToCloud -ManagementSrvFQDN AppVManagementServer.domain.net

Lire la documentation d’aide de PowerShell incluse dans le module

Get-Help Import-AppVPackageToCloud

Limitations

  • Vous ne pouvez pas détecter les packages App-V sur votre infrastructure d’emplacement de ressources directement à partir de la console de gestion des services dans Citrix Cloud.
  • Les packages détectés par ce module ne peuvent pas être chargés dans Citrix Virtual Apps and Desktops Service à l’aide de la méthode de gestion à double administration.

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ée 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 plus de détails, consultez API Monitor Service OData. Pour obtenir des instructions sur l’accès à l’API Monitor Service, consultez la section Access Monitor Service data using the OData v4 endpoint in Citrix Cloud.

API Citrix Virtual Apps and Desktops Service

Les API du service Virtual Apps and Desktops sont disponibles sur https://developerv1.cloud.com/_virtual_apps_and_desktops_service/virtual_apps_and_desktops_service.html.