SDK y API

Remote PowerShell SDK de Citrix Virtual Apps and Desktops

El SDK de PowerShell (PS) remoto automatiza las tareas repetitivas y complejas. Proporciona el mecanismo para configurar y administrar el entorno de Citrix Virtual Apps and Desktops (antes XenApp y XenDesktop) sin tener que usar la interfaz de usuario de Studio.

Los complementos compatibles se detallan en la sección Limitaciones. Esa sección también ofrece una lista de los cmdlets que están inhabilitados.

Cómo difiere este SDK del Citrix Virtual Apps and Desktops Delivery Controller SDK

En una implementación de Citrix Virtual Apps and Desktops instalada y administrada en su totalidad por los administradores del cliente, esos administradores ejecutan cmdlets y scripts en un sitio que contiene los VDA y los Delivery Controllers dentro de una estructura de dominio común. En cambio, Citrix Virtual Apps and Desktops Service separa los agentes VDA y los Controllers en una ubicación de recursos y el plano de control, respectivamente. Esta distribución significa que Citrix Virtual Apps and Desktops PowerShell SDK original no funcionará en un entorno de Citrix Virtual Apps and Desktops Service, porque no puede cruzar la frontera entre la ubicación de recursos segura y el plano de control.

La solución es Citrix Virtual Apps and Desktops Remote PS SDK. Cuando se ejecuta en una ubicación de recursos, el Remote PowerShell SDK accede al plano de control como si fuera local, lo que proporciona el mismo funcionamiento que un sitio único de Citrix Virtual Apps and Desktops. Solo existe una capa de comunicación no visible, la más baja, mejorada para funcionar en un solo sitio local o en el entorno de nube. Los cmdlets son los mismos y la mayoría de los scripts existentes funcionarán sin cambios.

El cmdlet Get-XdAuthentication proporciona la autorización para cruzar la frontera entre la ubicación de recursos segura y el plano de control. De forma predeterminada, Get-XdAuthentication pide a los usuarios las credenciales de CAS. Este cmdlet solo debe utilizarse una vez por sesión de PowerShell. Como alternativa, el usuario puede definir un perfil de autenticación mediante una API de acceso seguro al cliente, creada en la consola de Citrix Cloud. En ambos casos, la información de seguridad se conserva para usarla en llamadas posteriores del SDK de PowerShell. Si este cmdlet no se ejecuta explícitamente, lo llama el primer cmdlet del SDK de PowerShell.

Instalar y utilizar el SDK de PowerShell remoto

Requisitos:

  • Compruebe que PowerShell 3.0 o posterior está disponible en la máquina.
  • Si la máquina tiene instalado el SDK de Delivery Controller de Citrix Virtual Apps and Desktops, quite ese SDK (de la sección Programas y características de Windows) antes de instalar el SDK de PowerShell remoto.

Para instalar el SDK de PowerShell remoto:

  1. Descargue el instalador: https://download.apps.cloud.com/CitrixPoshSdk.exe. El paquete contiene las implementaciones para x86 y x64.
  2. En la carpeta descargada, busque y ejecute el instalador.
  3. Siga los cuadros de diálogo para completar la instalación.

Los registros de instalación se crean en %TEMP%\CitrixLogs\CitrixPoshSdk. Los registros pueden ayudar a resolver problemas de instalación.

Ejecute Citrix Virtual Apps and Desktops Remote PS SDK en un equipo unido a un dominio, dentro de la ubicación de recursos:

  • Abra una ventana de símbolo del sistema de PowerShell. No es necesario ejecutarla como administrador.
  • Agregue los complementos de Citrix: asnp citrix.*.
  • Puede autenticarse explícitamente mediante el cmdlet Get-XdAuthentication. O bien ejecute el primer comando de Citrix Virtual Apps and Desktops PowerShell SDK, que le pedirá autenticarse como lo habría pedido Get-XdAuthentication.
  • Para omitir la solicitud de autenticación, puede usar el cmdlet Set-XdCredentials y crear un perfil de autenticación predeterminado, que accederá mediante un cliente seguro creado en la consola de Citrix Cloud.
  • Siga ejecutando los cmdlets del SDK de PowerShell o los scripts de automatización del SDK de PowerShell. A continuación, dispone de un ejemplo.

Citrix recomienda no ejecutar los cmdlets de este SDK en los Cloud Connectors. La operación del SDK no implica a los Cloud Connectors.

Desinstalar:

Desde la función de Windows para quitar o cambiar programas, seleccione SDK de PowerShell remoto de Citrix Virtual Apps and Desktops. Haga clic con el botón secundario y seleccione Desinstalar. Siga el cuadro de diálogo.

Ejemplo de actividades

Por actividades comunes, se entiende la configuración de catálogos de máquinas, aplicaciones y usuarios. A continuación se muestra un script de ejemplo.

    $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

Limitaciones

En esta versión, se admiten los siguientes complementos de PowerShell para Citrix Virtual Apps and Desktops:

  • Broker
  • Identidad de Active Directory (AD)
  • Creación de máquinas
  • Configuración
  • Registrar configuraciones
  • Host
  • Administración delegada
  • Analytics

Para obtener información detallada acerca de los cmdlets de esos complementos, consulte el SDK de Citrix Virtual Apps and Desktops.

Una vez autenticado, el acceso remoto será válido en la sesión actual de PowerShell durante 24 horas. Transcurrido ese tiempo, deberá introducir sus credenciales.

Remote PowerShell SDK debe ejecutarse en un equipo de la ubicación de recursos.

Los siguientes cmdlets están inhabilitados en las operaciones remotas para mantener la integridad y la seguridad del plano de control de 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-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

Módulo de detección de Citrix Virtual Apps and Desktops Service para paquetes y servidores de App-V

Citrix Virtual Apps and Desktops Service puede entregar aplicaciones contenidas en paquetes de App-V a los dispositivos de punto final con el método de administración única (acceso a paquetes desde un recurso compartido de red) o con el de administración dual (acceso a paquetes desde un servidor de administración de Microsoft App-V). El proceso de registro de paquetes de App-V y los servidores de publicación y de administración de Microsoft App-V con la biblioteca de aplicaciones mediante Citrix Virtual Apps and Desktops Service es ligeramente diferente del de registrar paquetes mediante una implementación local. Sin embargo, el proceso de asignar aplicaciones a los usuarios e iniciarlas en el dispositivo de punto final de un usuario es idéntico.

La consola de administración de servicios de Citrix Cloud no puede ver archivos en una ubicación de recursos y no puede detectar paquetes o servidores de Microsoft App-V directamente en la infraestructura. El módulo de detección contiene funciones de PowerShell que se pueden ejecutar en una máquina de la ubicación de recursos para detectar paquetes y servidores de Microsoft App-V y las aplicaciones que contienen, y enviar esa información a Citrix Virtual Apps and Desktops Service.

Instalar y utilizar el módulo de detección para paquetes de App-V

Requisitos:

  • Compruebe que PowerShell 3.0 o posterior está disponible en la máquina.
  • El SDK de PowerShell remoto de Citrix Virtual Apps and Desktops debe estar instalado en la máquina.

Si quiere instalar el módulo de detección para paquetes de App-V:

Descargue el archivo Citrix.Cloud.AppLibrary.Admin.v1.psm1 del módulo firmado de PowerShell: Página de descargas de Citrix Virtual Apps and Desktops. (Este archivo también se proporciona en la ISO de Citrix Virtual Apps and Desktops en Support\Tools\Scripts, donde se puede copiar localmente o se le puede hacer referencia directamente desde la unidad de CD.)

El módulo contiene las siguientes funciones de alto nivel que puede llamar desde su propio script de PowerShell:

  • Import-AppVPackageToCloud -PackagePath <Ruta UNC completa al paquete de App-V> Detecta y carga en Citrix Virtual Apps and Desktops Service toda la información necesaria para publicar aplicaciones de un único paquete de App-V.
  • Import-AppVPackagesFromManagementServerToCloud -ManagementSrvFQDN <Nombre FQDN de un servidor de administración de App-V de Microsoft> Detecta las rutas UNC de los paquetes publicados por el servidor de administración y llama a la función Import-AppVPackageToCloud para cada paquete.

    Nota:

    Los paquetes detectados de esta manera se cargan en Citrix Virtual Apps and Desktops Service con el método de administración única. Citrix Virtual Apps and Desktops Service no puede entregar paquetes con el método de administración dual.

  • Import-AppVDualAdminToCloud -ManagementSrvUrl <URL de un servidor de administración de Microsoft App-V> -PublishingServerUrl <URL de un servidor de publicación de Microsoft App-V> Detecta servidores de publicación y de administración de Microsoft App-V e importa el contenido en la biblioteca de aplicaciones. Este cmdlet importa todos los paquetes administrados mediante el servidor de administración de Microsoft App-V e información relacionada. Los servidores se pueden agregar y quitar a través de PowerShell.

    Nota:

    Este cmdlet agrega paquetes de App-V en el modo de administración dual. Solo se importan los paquetes de App-V que se publican en el servidor de administración de Microsoft App-V y que tienen grupos de AD agregados. Si hace cambios en el servidor de administración de Microsoft App-V, vuelva a ejecutar este cmdlet para sincronizar la biblioteca de aplicaciones con el servidor de administración de Microsoft App-V.

  • Remove-AppVServerFromCloud -ManagementSrvUrl <URL de un servidor de administración de Microsoft App-V> -PublishingServerUrl <URL de un servidor de publicación de Microsoft App-V> Quita los servidores de publicación y de administración de Microsoft App-V agregados a la biblioteca de aplicaciones.

    Nota:

    Este cmdlet quita los servidores de publicación y de administración de Microsoft App-V especificados, además de todos los paquetes de App-V asociados.

Ejecute el módulo de detección para paquetes y servidores de App-V en un equipo unido a un dominio dentro de esa ubicación de recursos:

  • Abra una ventana de símbolo del sistema de PowerShell. No es necesario ejecutarla como administrador.
  • Agregue los complementos de Citrix: asnp citrix.*.
  • Puede autenticarse explícitamente mediante el cmdlet Get-XdAuthentication. También puede ejecutar su primer módulo de detección del comando del SDK de PS para App-V, que le solicita la misma autenticación que Get-XdAuthentication.
  • Para omitir la solicitud de autenticación, puede usar el cmdlet Set-XdCredentials y crear un perfil de autenticación predeterminado, que accederá mediante un cliente seguro creado en la consola de Citrix Cloud.
  • Siga ejecutando los cmdlets del SDK de PowerShell o los scripts de automatización del SDK de PowerShell. Consulte los siguientes ejemplos.

Ejemplo de actividades

Importar el módulo de detección de paquetes de App-V de Virtual Apps and Desktops Service

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

Recorrer el directorio del almacén de paquetes de App-V y cargar cada paquete

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

Detectar y cargar paquetes registrados con un servidor de administración de Microsoft App-V

Import-AppVPackagesFromManagementServerToCloud -ManagementSrvFQDN AppVManagementServer.domain.net

Detectar los servidores de publicación y de administración de Microsoft App-V y agregar la configuración a la biblioteca de aplicaciones

Esto también importa todos los paquetes administrados por el servidor de administración de Microsoft App-V en el modo de administración dual.

Import-AppVDualAdminCloud -ManagementSrvUrl http://AppVManagementServer.domain.net –PublishingServerUrl http://AppVManagementServer.domain.net:8001

Consultar la documentación de ayuda de PowerShell incluida en el módulo

Get-Help Import-AppVPackageToCloud

Limitaciones

  • No puede detectar paquetes de App-V en la infraestructura de la ubicación de recursos directamente desde la consola de administración de servicios de Citrix Cloud.
  • Los paquetes detectados por este módulo no se pueden cargar en Citrix Virtual Apps and Desktops Service con el método de administración dual.

Renuncia de responsabilidades

Este software o código de muestra se proporciona “tal cual”, sin ningún tipo de declaración, garantía ni condición. Puede utilizarlo, modificarlo y distribuirlo bajo su propio riesgo. CITRIX RENUNCIA A TODAS LAS GARANTÍAS, EXPRESAS, IMPLÍCITAS, ESCRITAS, ORALES O LEGALES, INCLUIDAS, ENTRE OTRAS, GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR, TÍTULO Y NO INFRACCIÓN. Sin limitar el carácter general de lo anteriormente expuesto, Ud. reconoce y acepta (a) que el software o código de muestra puede presentar errores, fallos de diseño o cualquier otro problema, que pueden provocar una pérdida de datos o daños materiales; (b) que puede que no sea posible hacer funcionar por completo el software o código de muestra; y (c) que sin previo aviso y sin responsabilidad respecto a Ud., Citrix puede dejar de poner a su disposición la versión actual o las versiones futuras de este software o código de muestra. El software o código de muestra no debe utilizarse en ningún caso para dar apoyo a actividades de riesgo extremo, incluidas, a título enunciativo, actividades de explosión o de soporte vital. NI CITRIX NI SUS AFILIADOS O AGENTES SERÁN RESPONSABLES, POR INCUMPLIMIENTO DE CONTRATO O CUALQUIER OTRO PRINCIPIO DE RESPONSABILIDAD, DE CUALQUIER DAÑO QUE SE PRODUZCA DEL USO DEL SOFTWARE/CÓDIGO DE MUESTRA, INCLUIDOS PERO SIN LIMITACIÓN, DAÑOS DIRECTOS, ESPECIALES, INCIDENTALES, PUNITIVOS, CONSECUENTES O DE OTRO TIPO, AUNQUE SE INFORME DE LA POSIBILIDAD DE TALES DAÑOS. Ud. acepta indemnizar y defender a Citrix contra cualquier tipo de reclamación relativa al uso, modificación o distribución del código.

API de OData para Monitor Service

Además de utilizar las funciones de Supervisar para mostrar datos históricos, puede consultar datos mediante la API de Monitor Service. Puede usar la API para:

  • Analizar tendencias históricas para planificaciones futuras
  • Realizar informes de error detallados sobre problemas de máquina y conexión
  • Extraer información para insertarla en otras herramientas y procesos; por ejemplo, mediante las tablas de PowerPivot de Microsoft Excel para mostrar los datos de diferentes formas
  • Generar una interfaz de usuario personalizada en la parte superior de los datos que proporciona la API

Para obtener información detallada, consulte API de OData para Monitor Service. Para obtener instrucciones sobre cómo acceder a la API de Monitor Service, consulte Access Monitor Service data using the OData 4 endpoint in Citrix Cloud.

Las API de Citrix Virtual Apps and Desktops Service

Las API de Virtual Apps and Desktops Service están disponibles en https://developer.cloud.com/virtual-apps-and-desktops.