SDK y API

Citrix Virtual Apps and Desktops Remote PowerShell SDK

El SDK de Remote PowerShell (PS) 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 Remote PowerShell SDK

Compruebe que PowerShell 3.0 o posterior está disponible en la máquina.

  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 utilizando 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 característica de Windows para quitar o cambiar programas, seleccione Citrix Virtual Apps and Desktops Remote PowerShell SDK. 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
  • Registros de configuración
  • Host
  • Administración delegada
  • Analytics

Para obtener más información acerca de los cmdlets existentes en los complementos, consulte Citrix Virtual Apps and Desktops SDK.

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:

  • 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

Renuncia de responsabilidad

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 TODA GARANTÍA, YA SEA EXPRESA, IMPLÍCITA, ESCRITA, ORAL O LEGAL, INCLUIDAS, A TÍTULO ENUNCIATIVO, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN EN PARTICULAR, PROPIEDAD Y NO INFRACCIÓN DE DERECHOS DE PROPIEDAD INTELECTUAL. 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. CITRIX, LAS AFILIADAS DE CITRIX O SUS AGENTES NO SERÁN RESPONSABLES, BAJO CUALQUIER TEORÍA DE RESPONSABILIDAD O INCUMPLIMIENTO DE CONTRATO, DE NINGÚN DAÑO OCASIONADO POR EL USO DEL SOFTWARE O CÓDIGO DE MUESTRA, INCLUIDOS, A TÍTULO ENUNCIATIVO, LOS DAÑOS DIRECTOS, ESPECIALES, INCIDENTALES, PUNITIVOS, CONSECUENCIALES O DE ALGÚN OTRO TIPO, AUN CUANDO HUBIERAN SIDO ADVERTIDOS DE LA POSIBILIDAD DE DICHOS 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 Monitor 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 más información, consulte API OData de Monitor Service. Para obtener instrucciones sobre cómo acceder a la API de Monitor Service, consulte Access Monitor Service data using the OData v4 endpoint in Citrix Cloud.

API de Citrix Virtual Apps and Desktops Service: Tech Preview de las API del catálogo de servicios

Hay una versión Tech Preview de las API de catálogo de servicios de Citrix Virtual Apps and Desktops Service en https://developer.cloud.com/_xenapp_and_xendesktop_service/xenapp_and_xendesktop_service.html.