API

Il existe quatre API disponibles avec Citrix Provisioning. Chaque API a son propre Guide du programmeur. Il existe également un guide sur la manière de gérer la transition entre l’API PowerShell obsolète et l’API PowerShell orientée objet.

Méthode d’énumération de groupes Active Directory

La console Citrix Provisioning contient l’assistant d’installation Citrix Virtual Apps and Desktops. Ce dernier fournit des tâches d’intégration entre Citrix Provisioning, Citrix Virtual Apps and Desktops et Windows Active Directory. L’assistant, accessible depuis la console Provisioning, crée les machines virtuelles et tous les objets nécessaires dans Citrix Provisioning, Citrix Virtual Apps and Desktops et Windows Active Directory.

Remarque :

Cette implémentation était limitée dans les versions précédentes en raison de l’absence d’une API exposée. Sans API, les utilisateurs de Citrix Provisioning ne pouvaient pas exécuter différents paradigmes de tests automatisés dans leurs environnements.

Les fonctionnalités de Citrix Virtual Apps and Desktops et de l’assistant Streamed VM Setup Wizard sont exposées grâce à un service sur le serveur Provisioning Server via une API Powershell. Cette API propose un frontal PowerShell pouvant être utilisé pour automatiser les assistants Streamed VM Setup Wizard et Citrix Virtual Apps and Desktops.

Conseil :

Le service API Citrix Provisioning utilise une connexion SSL qui nécessite la configuration d’un certificat X.509 sur le serveur Provisioning Server.

Configurer le certificat X.509

Le service API Citrix Provisioning utilise une connexion SSL qui nécessite la configuration d’un certificat X.509 sur le serveur Provisioning Server. Le certificat d’autorité de certification doit également être présent sur les machines serveur et console.

Pour créer un certificat auto-signé pour l’API Citrix Provisioning :

  1. Téléchargez et installez le SDK Windows correspondant au système d’exploitation de votre serveur Provisioning Server.
  2. Ouvrez une invite de commandes et accédez au dossier Bin du SDK. Par défaut : C:\Program Files (x86)\Windows Kits\SDK_Version\bin\x64>.
  3. Exécutez les commandes suivantes :

    a. Créez un certificat qui servira d’autorité de certification racine : makecert -n “CN= P VSRoot CA” -r -sv P VSRoot CA.pvk P VSRoot CA.cer b. Créez et installez le certificat de service : makecert -sk P VSAP I -iv P VSRoot CA.pvk -n “CN= FQDN of the PVS Server” -ic P VSRoot CA.cer -sr localmachine -ss my -sky exchange -pe c. Installez le certificat de l’autorité de certification racine dans l’emplacement des autorités de certification racines de confiance sur les machines serveur et console : cert mgr -add “PVSRoot CA.cer” -s -r localMachine Root

  4. Exécutez l’assistant de configuration. Sur la page Soap SSL Configuration, sélectionnez le certificat créé.

Remarque :

Lorsque vous exécutez les commandes PowerShell, utilisez le nom de domaine complet du serveur PVS pour PvsServerAddress et 54324 (par défaut) pour PvsServerPort.

Utilisation de l’API Citrix Provisioning

Après l’installation du serveur Citrix Provisioning le plus récent :

  1. Exécutez l’assistant de configuration.
  2. Ouvrez la fenêtre Services sur le serveur Provisioning et vérifiez que l’API Citrix Provisioning est installée et configurée pour fonctionner en tant qu’administrateur :

Conseil :

Le service API Citrix Provisioning utilise une connexion SSL qui nécessite la configuration d’un certificat X.509 sur le serveur Provisioning Server.

Site de la console

  1. Ouvrez une fenêtre PowerShell sur votre serveur Provisioning :

    a. Import-Module, C:Program Files\Citrix\Provisioning Services\Citrix.ProvisioningServices.dll b. Get-Command-Module

L’image suivante illustre les options de commande :

Site de la console

c. Ping the Citrix Provisioning API service: **Get-PvsApiServiceStatus -PvsServerAddress <FQDN of PVS Server> -PvsServerPort <Port PVS API is configured to listen on>**

Conseil :

Le numéro de port du serveur Provisioning est celui utilisé pour la communication avec le serveur SOAP.

Site de la console

d. Login to the Citrix Provisioning API (use either of the following commands):

**Use Domain/Username/Password parameters:**

Get-PvsConnection -PvsServerAddress <FQDN of PVS Server> -PvsServerPort <SOAP Port +1 PVS API is configured to listen on> -Domain <PVS Admin Domain> -Username <PVS Admin username> -Password <PVS Admin password>

**Use Pass-in P SCredent ial object:**

Get-PvsConnection -PvsServerAddress <Address of PVS Server> PvsServerPort-Credentials <PSCredential Object returned by Get-Credential>

Site de la console

Site de la console

Les applets de commande suivantes sont incluses avec la nouvelle implémentation de l’API Citrix Provisioning :

  • Get-PvsApiServiceStatus. Envoie une commande ping au service pour déterminer si le service est en cours d’exécution à une adresse ou un port particulier.
  • Get-PvsConnection. Ouvre une session dans l’API Citrix Provisioning.
  • Clear-PvsConnection. Ferme la session dans l’API Citrix Provisioning. Cette applet de commande ajoute le jeton d’authentification à la liste noire.
  • Start-PvsProvisionXdMachines. Utilisé pour l’automatisation de l’assistant d’installation Citrix Virtual Apps and Desktops.
  • Start-PvsProvisionMachines. Utilisé pour l’automatisation de l’assistant Streaming VM Setup Wizard.
  • Get-PvsProvisioningStatus. Utilise l’ID renvoyé à partir d’une des deux commandes précédentes pour obtenir l’état de la session de provisioning en cours.
  • Stop-PvsProvisionMachines. Utilise l’ID renvoyé à partir d’une des deux commandes précédentes pour annuler la session de provisioning en cours.

Vous pouvez accéder aux exemples de ces applets de commande Powershell à l’aide de Get-Help CommandName – Examples:

Site de la console

Conseil :

Le reste des applets de commande PowerShell fait partie de la couche DatabaseAccess.

Lors de la connexion à l’API à l’aide de la commande PowerShell Set-PvsConnection, un objet de connexion est renvoyé, similaire à l’image ci-dessous :

Site de la console

Dans Citrix Provisioning, la méthode de contrôle d’accès utilisateur est basée sur les informations d’identification de connexion Active Directory de l’utilisateur et de la configuration du groupe administratif. À la suite de cette méthode, l’énumération des groupes AD déclenche de manière répétée les événements associés aux opérations de l’assistant de configuration et de la console. Dans les environnements AD complexes où des connexions parasites peuvent se produire, le système peut devenir lent, avec des réponses lentes entraînant des délais de connexion à la console Provisioning. Cette fonctionnalité résout ces problèmes en améliorant la méthode d’énumération des groupes AD.

Avant cette fonctionnalité, l’énumération des groupes AD avait lieu en analysant les appartenances associées à la connexion de l’utilisateur dans son domaine et l’intégralité des domaines de confiance. Ce processus se poursuit jusqu’à ce que toutes les appartenances à un groupe d’utilisateurs soient déterminées ou s’il n’y a plus de domaine à rechercher. Les groupes identifiés étaient comparés aux groupes administratifs définis dans la base de données pour déterminer les droits d’accès de l’utilisateur.

Avec cette fonctionnalité, l’énumération des groupes AD est améliorée afin de rechercher intelligemment les appartenances de connexion d’un utilisateur dans des domaines préférés, plutôt que de rechercher dans l’intégralité des groupes sur tous les domaines. Le nom du groupe administratif associé aux informations d’identification de connexion de l’utilisateur est utilisé pour fournir la liste des domaines préférés. La liste des domaines de l’utilisateur est analysée en premier, suivie de la liste préférée. Au cours de cette recherche, si le groupe administratif d’une batterie est découvert, la recherche s’arrête car l’utilisateur dispose déjà de tous les droits d’accès à la batterie Citrix Provisioning. Ce paradigme de recherche inclut également un mécanisme qui utilise l’ID de sécurité du domaine pour vérifier si le domaine contient les groupes attendus. Cette nouvelle approche de recherche dans les domaines pour les appartenances de connexion d’un utilisateur devrait répondre aux besoins de la plupart des environnements AD et se traduire par des opérations plus rapides de l’assistant de configuration et de la console.

Modification de l’approche de recherche

Pour certains environnements AD spécifiques, généralement ceux avec des groupes imbriqués complexes et des domaines avec de nombreuses associations de confiance, la méthode de recherche par défaut peut ne pas être en mesure de trouver les appartenances administratives attendues de l’utilisateur. Pour résoudre ces scénarios, un paramètre de registre a été ajouté pour modifier l’approche de recherche :

  1. Dans le paramètre de registre, recherchez HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ProvisioningServices.
  2. Créez un DWORD nommé « DomainSelectOption ».
  3. Dans le DWORD DomainSelectOption, définissez l’une des valeurs suivantes (au format décimal) pour l’approche de recherche souhaitée :
  • 0 - Recherche par défaut. Cette méthode effectue la recherche dans le domaine de l’utilisateur, suivi des domaines du groupe administratif.
  • 1 - Recherche dans le domaine de l’utilisateur et dans le domaine du groupe administratif, suivis d’autres domaines de confiance dans le domaine d’un utilisateur.
  • 2 - Obsolète.
  • 3 - Recherche dans le domaine de l’utilisateur, suivi des domaines du groupe administratif. Les groupes découverts sont ensuite énumérés sur le domaine du parent.
  • 4 - Recherche dans le domaine de l’utilisateur et dans le domaine du groupe administratif, suivis d’autres domaines de confiance dans le domaine d’un utilisateur. Les groupes découverts sont ensuite énumérés sur le domaine du parent.

API