Citrix DaaS

sdk和api

sdk和api

Citrix DaaS远程PowerShell SDK

远程PowerShell SDK自动化了复杂和重复的任务。它提供了设置和管理Citrix DaaS(以前的Citrix虚拟应用程序和桌面服务)环境的机制,而无需使用管理用户界面。

该产品支持PowerShell版本3到5。

注意:

较老版本的Remote PowerShell SDK现在已弃用。如果您使用的是已弃用的版本,则SDK将停止工作,并会看到一条错误消息,提示您下载当前版本。如果出现这种情况,请从Citrix网站

这个SDK与客户管理部署的SDK有何不同

在由客户管理员安装和管理的Citrix DaaS部署中,这些管理员在一个公共域结构中包含vda和交付控制器的站点中运行cmdlet和脚本。相比之下,Citrix DaaS将vda和控制器分别划分为资源位置和控制平面。这种分离意味着最初的Citrix DaaS PowerShell SDK不能在Citrix DaaS环境中工作。它不能跨越从资源位置到控制平面的安全边界。

解决方案是Citrix DaaS Remote PowerShell SDK。在资源位置运行时,Remote PowerShell SDK访问控制平面,就像访问本地控制平面一样。这提供了与单个Citrix DaaS站点相同的功能。只有最低的不可见通信层,增强后可在单个本地站点或云环境中工作。cmdlet是相同的,大多数现有脚本保持不变。

Get-XdAuthenticationCmdlet提供了跨越安全资源位置以控制平面边界的授权。默认情况下,Get-XdAuthentication提示用户输入CAS凭据,并且每个PowerShell会话必须执行一次。或者,用户可以使用在Citrix Cloud控制台中创建的API访问Secure Client定义身份验证配置文件。在这两种情况下,安全信息将持续存在,以便在后续的PowerShell SDK调用中使用。如果这个cmdlet没有显式运行,它将由第一个PowerShell SDK cmdlet调用。

安装和使用Remote PowerShell SDK

要求和注意事项:

注意:

不要在Citrix Cloud Connector机器上安装Remote PowerShell SDK。它可以安装在同一资源位置内的任何域连接机器上。

Citrix建议不要在Cloud Connectors上运行此SDK的cmdlet。SDK的操作不涉及云连接器。

如果您还拥有Citrix虚拟应用程序和桌面部署(除了Citrix DaaS部署),则不要在本地交付控制器计算机上安装Remote PowerShell SDK。

  • 确保机器上有PowerShell 3.0、4.0或5.0可用。
  • 如果尚未安装。net Framework 4.8(或支持的更高版本),SDK安装程序将下载并安装它。
  • 如果机器已经安装了Citrix虚拟应用程序和桌面SDK,请在安装远程PowerShell SDK之前删除该SDK(从Windows程序和功能)。
  • 对于自动化环境,请使用安静的参数,无需用户输入即可安装SDK。

安装Remote PowerShell SDK。

  1. 下载页面,下载虚拟应用程序和桌面远程PowerShell SDK。
  2. 安装并运行SDK。

创建安装日志%临时% \ CitrixLogs \ CitrixPoshSdk.日志可以帮助解决安装问题。

在资源位置内的域连接计算机上运行SDK:

  • 打开PowerShell命令提示符。您不需要以管理员身份运行。
  • 如果您想使用管理单元(而不是模块),请使用Add-PSSnapin(或asnp) cmdlet。
  • 方法可以显式地进行身份验证Get-XdAuthenticationcmdlet。或者,运行您的第一个Remote PowerShell SDK命令,它会提示您进行与Get-XdAuthentication
  • 要绕过身份验证提示,可以使用Set-XdCredentialscmdlet使用Citrix Cloud控制台中创建的安全客户端创建默认的身份验证配置文件。
  • 继续运行PowerShell SDK cmdlet或PowerShell SDK自动化脚本。看到一个例子

要卸载Remote PowerShell SDK,请从Windows功能中删除或更改程序,选择Citrix虚拟应用程序和桌面远程PowerShell SDK.右键单击并选择卸载.跟随对话。

例子活动

常见的活动包括设置机器目录、应用程序和用户。下面显示了一个示例脚本。

$users = "xd. "#创建TSVDA目录$brokerUsers = New-BrokerUser -Name $ Users $ Catalog = New-BrokerCatalog -Name $TSVDACatalogName -AllocationType "随机" -Description $TSVDACatalogName -PersistUserChanges "OnLocal" -ProvisioningType "Manual" -SessionSupport "MultiSession" -MachinesArePhysical $true #将TSVDA机器添加到目录$BrokeredMachine = New-BrokerMachine -MachineName $TSVDAMachineName美元-CatalogUid目录。uid #创建新的桌面和应用程序交付组$dg = new - brokerdesktopgroup -Name $TSVDADGName - publhedname $TSVDADGName -DesktopKind "Shared" -SessionSupport "MultiSession" -DeliveryType DesktopsAndApps -Description $TSVDADGName #创建记事本应用程序new - brokerapplication -ApplicationType HostedOnDesktop -Name "notepad " -CommandLineExecutable "notepad.exe" -DesktopGroup $dg #为桌面和应用程序分配用户new - brokerentimentpolicyrule -Name $TSVDADGName-DesktopGroupUid dg美元。Uid -IncludedUsers $brokerUsers -description $TSVDADGName New-BrokerAccessPolicyRule -Name $TSVDADGName -IncludedUserFilterEnabled $true -IncludedUsers $brokerUsers -DesktopGroupUid $dg. Uid -IncludedUsers $brokerUsers -description $TSVDADGName New-BrokerAccessPolicyRule -Name $TSVDADGName -IncludedUserFilterEnabled $trueUid -AllowedProtocols @("HDX","RDP") New-BrokerAppEntitlementPolicyRule -Name $TSVDADGName -DesktopGroupUid $dg. Uid -AllowedProtocols @("HDX","RDP")Uid -IncludedUsers $brokerUsers -description $TSVDADGName #添加机器到交付组Add- brokermachine -MachineName $TSVDAMachineName -DesktopGroup $dg 

支持和限制

该版本支持以下Citrix Virtual Apps和desktop PowerShell模块:

  • 代理
  • AD (Active Directory)标识
  • 创造机
  • 配置
  • 配置日志记录
  • 宿主
  • 委托管理
  • 分析

有关cmdlet的详细信息,请参见Citrix虚拟应用程序和桌面SDK

认证后,远程访问在当前PowerShell会话中保持24小时有效。在此之后,您必须输入您的凭证。

远程PowerShell SDK必须在资源位置内的计算机上运行。

在远程操作中禁用以下cmdlet,以维护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
  • Get-BrokerController
  • 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-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-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

application - v包和服务器的Citrix DaaS发现模块

Citrix DaaS可以使用以下任一方法将App-V包中包含的应用程序交付到您的端点:

  • 单一管理管理方法(从网络共享访问包)
  • 双管理管理方法(从Microsoft App-V management Server访问包)

使用Citrix DaaS在应用程序库中注册App-V包、Microsoft App-V管理和发布服务器的过程与使用内部部署注册包略有不同。但是,将应用程序分配给用户并在用户端点上启动它们的过程是相同的。

Citrix Cloud中的Citrix DaaS管理控制台无法查看资源位置中的文件。此外,它不能直接发现基础设施中的App-V包或Microsoft App-V服务器。发现模块提供了在本地基础设施中发现App-V包信息并将包信息上传到Citrix DaaS的功能。包信息包括App-V包、Microsoft App-V服务器以及包中包含的应用程序。

发现模块使用的是Virtual Apps and desktop Remote PowerShell SDK。它可以从网络共享或Microsoft App-V Management Server中发现包信息。在资源位置的机器上使用发现模块。

使用发现模块的前提条件:

  • 验证机器上是否有PowerShell 3.0或更高版本。
  • 检查机器上是否安装了Citrix Virtual Apps and desktop Remote PowerShell SDK。
  • 验证您能够访问包含App-V包的网络共享。
  • 验证您可以访问安装Citrix云连接器和托管Microsoft App-V管理服务器的服务器。

在Citrix Cloud中将App-V包添加到Application Library中

下面的过程适用于从网络共享中添加App-V包(单管理管理)和从Microsoft App-V管理服务器中添加所有发布的App-V包(双管理管理)。使用双重管理管理方法时,必须像使用单一管理管理方法一样管理添加的App-V包。

  1. 从Citrix DaaS下载页面下载发现模块//m.giftsix.com/downloads/citrix-cloud/product-software/xenapp-and-xendesktop-service.html.解压缩zip文件Citrix.Cloud.AppLibrary.Admin.v1.psm1到一个方便的文件夹。

    注意:

    该文件也提供在Citrix虚拟应用程序和桌面ISO支持\ \工具脚本.您可以在本地复制它或直接从CD驱动器引用它。

  2. 验证虚拟应用程序和桌面远程PowerShell SDK已安装在您的计算机上

  3. 导航到包含发现模块的文件夹。在PowerShell窗口中,键入包含发现模块的文件夹的完整路径,然后按下输入

  4. 使用命令导入发现模块Import-Module。\ Citrix.Cloud.AppLibrary.Admin.v1.psm1

  5. 将App-V包添加到Citrix Cloud的应用程序库中,可以通过以下方式中的任意一种进行添加。

    • 从网络共享中添加App-V包,使用PowerShell cmdlet命令:Import-AppVPackageToCloud

      例如:导入appvpackagetocloud -PackagePath \\AppVSrv\share\ notepad++ .appv

      对于cmdlet帮助,输入得到帮助Import-AppVPackageToCloud

    • 从Microsoft App-V Management Server中添加App-V包,使用PowerShell cmdlet命令:Import-AppVPackagesFromManagementServerToCloud

      例如:Import-AppVPackagesFromManagementServerToCloud -ManagementSrvFQDN AppVMngSrv.domain.local

      对于cmdlet帮助,输入得到帮助Import-AppVPackagesFromManagementServerToCloud

      该命令将所有已发布的App-V包从Microsoft App-V Management Server导入到Citrix Cloud。

      将App-V包添加到Citrix Cloud后,必须像使用单一管理管理方法一样管理它们。

  6. 登录Citrix Cloud。选择目标客户。脚本运行成功后,App-V包被添加到Citrix Cloud的Application Library中。

从Citrix Cloud的Application Library中删除一个App-V包

要从Citrix Cloud的应用程序库中删除App-V包,请参见从应用程序库中删除一个App-V包在现场部署中。

高级PowerShell函数

该模块包含以下高级函数,您可以从自己的PowerShell脚本调用:

  • Import-AppVPackageToCloud -PackagePath < App-V包的完整UNC路径>

    发现并向Citrix DaaS上传从单个App-V包发布应用程序所需的所有信息。

  • Import-AppVPackagesFromManagementServerToCloud -ManagementSrvFQDN < Microsoft App-V ManagementServer的FQDN

    发现由管理服务器发布的包的UNC路径并调用Import-AppVPackageToCloud依次为每一个。

    以这种方式发现的包使用单一管理管理方法加载到Citrix DaaS。Citrix DaaS无法使用双管理员管理方式交付包。

  • Import-AppVDualAdminToCloud -ManagementSrvUrl < Microsoft App-V Management Server的URL > -PublishingServerUrl < Microsoft App-V Management Server的URL >

    发现Microsoft App-V管理和发布服务器,并将内容导入到应用程序库。这个cmdlet导入使用Microsoft App-V Management Server管理的所有包和相关信息。通过PowerShell可以添加和删除服务器。

    这个cmdlet以双管理模式添加App-V包。只导入在Microsoft App-V Management Server上发布并添加了AD组的App-V包。如果对Microsoft App-V管理服务器进行更改,请重新运行此cmdlet以使应用程序库与Microsoft App-V管理服务器同步。

  • Remove-AppVServerFromCloud -ManagementSrvUrl < Microsoft App-V管理服务器的URL > -PublishingServerUrl < Microsoft App-V发布服务器的URL >

    删除添加到应用程序库中的Microsoft App-V管理和发布服务器。

    这个cmdlet删除了指定的Microsoft App-V管理和发布服务器,以及所有相关的App-V包。

在该资源位置内的域连接计算机上为App-V包和服务器运行发现模块。遵循以下指南安装和使用Remote PowerShell SDK开始吧。继续运行PowerShell cmdlet或脚本。参见以下示例。

例子活动

导入Citrix DaaS App-V包发现模块。

import-module“D: \ \工具\ \ Citrix.Cloud.AppLibrary.Admin.v1脚本支持。psm1“< !——NeedCopy >

循环遍历App-V Package存储目录并上传每个包。

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

发现并上传注册到Microsoft App-V管理服务器上的包。

Import-AppVPackagesFromManagementServerToCloud -ManagementSrvFQDN AppVManagementServer.domain.net 

发现Microsoft App-V管理和发布服务器,并将配置添加到应用程序库。这还将导入Microsoft App-V Management Server在双管理模式下管理的所有包。

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

请阅读模块中包含的PowerShell帮助文档。

导入appvpackagetocloud 

限制

  • 您不能直接从Citrix Cloud中的Citrix DaaS管理控制台发现资源位置基础设施上的App-V包。有关Cirix Cloud的更多信息,请参见Citrix云文档。
  • Citrix Cloud中的Citrix DaaS管理控制台没有到Microsoft App-V管理服务器的实时连接。对Microsoft App-V Management服务器中的包和其他配置的更改不会反映在Citrix DaaS管理控制台中,直到Import-AppVDualAdminCloud重新运行。这不同于内部包发现行为).

监控服务OData API

除了使用Monitor函数显示历史数据外,还可以使用Monitor Service的API查询数据。使用API:

  • 为规划分析历史趋势
  • 对连接和机器故障进行详细的故障排除
  • 提取信息以提供给其他工具和过程;例如,使用Microsoft Excel的PowerPivot表以不同的方式显示数据
  • 在API提供的数据之上构建自定义用户界面

详情请参见监控服务OData API.要访问Monitor Service API,请参见使用Citrix Cloud中的OData v4端点访问Monitor Service数据

Citrix DaaS api

Citrix DaaS api可在https://developer.cloud.com/citrixworkspace/citrix-daas

免责声明

本软件/样例代码“按原样”提供给您,不附带任何声明、保证或条件。您可以自行承担使用、修改和分发它的风险。思杰拒绝任何形式的明示、暗示、书面、口头或法定保证,包括但不限于适销性、适合某一特定目的、所有权和不侵权的保证。在不限制前述一般性的前提下,您承认并同意(a)软件/示例代码可能出现错误、设计缺陷或其他问题,可能导致数据丢失或财产损坏;(b)可能无法使软件/样例代码具有完整的功能;以及(c)思杰可停止提供软件/示例代码的当前版本和/或任何未来版本,而无需通知您或对您负责。在任何情况下,软件/代码都不应用于支持超危险活动,包括但不限于生命维持或爆破活动。citrix及其关联公司或代理均不对因使用软件/样本代码而产生的任何损害承担违约责任或任何其他责任理论的责任,包括但不限于直接、特殊、偶然、惩罚性、后果性或其他损害,即使被告知该等损害的可能性。您同意就因您使用、修改或分发代码而产生的任何索赔向思杰进行赔偿和辩护。

sdk和api