Citrix Virtual Apps and Desktops

Broker PowerShell SDK 命令

您可以使用 Broker PowerShell SDK 为交付组配置 Autoscale。要使用 PowerShell 命令配置 Autoscale,您必须使用 PowerShell SDK 7.21.0.12 或更高版本。有关 PowerShell SDK 的详细信息,请参阅 SDK 和 API

Set-BrokerDesktopGroup

禁用或启用现有 BrokerDesktopGroup 或更改其设置。有关此 cmdlet 的详细信息,请参阅 https://citrix.github.io/delivery-controller-sdk/Broker/Set-BrokerDesktopGroup/

示例

有关如何使用 PowerShell cmdlet 的详细信息,请参阅以下示例。

启用 Autoscale™

  • 假设您要为名为“MyDesktop”的交付组启用 Autoscale。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -AutoscalingEnabled $true

分别配置高峰时段和非高峰时段的容量缓冲区

  • 假设您要为名为“MyDesktop”的交付组将高峰时段的容量缓冲区设置为 20%,将非高峰时段的容量缓冲区设置为 10%。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PeakBufferSizePercent 20 -OffPeakBufferSizePercent 10

配置断开连接超时设置

  • 假设您要为名为“MyDesktop”的交付组将高峰时段的断开连接超时值设置为 60 分钟,将非高峰时段的断开连接超时值设置为 30 分钟。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PeakDisconnectTimeout 60 -OffPeakDisconnectTimeout 30

配置注销超时设置

  • 假设您要为名为“MyDesktop”的交付组将高峰时段的注销超时值设置为 60 分钟,将非高峰时段的注销超时值设置为 30 分钟。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PeakLogOffTimeout 60 -OffPeakLogOffTimeout 30

配置关机延迟设置

  • 假设您要为名为“MyDesktop”的交付组将关机延迟设置为 15 分钟。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PowerOffDelay 15

配置关机延迟不生效的时间段

  • 假设您希望关机延迟在名为“MyDesktop”的交付组中生效,直到 30 分钟过去。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • C:\PS> Set-BrokerDesktopGroup "MyDesktop" -SettlementPeriodBeforeAutoShutdown 30

配置计算机实例成本设置

  • 假设您要为名为“MyDesktop”的交付组将每小时计算机实例成本设置为 0.2 美元。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -MachineCost 0.2

从 Autoscale 池中排除维护模式虚拟机

  • 假设一个交付组有 10 台计算机,其中 2 台处于维护模式。Autoscale 缓冲区容量设置为 50%。假设您要从 Autoscale 池中排除处于维护模式的虚拟机,则将 PoolSizeExcludesMaintenanceMode 设置为 True。Autoscale 将启动 4 台计算机,因为处于维护模式的 2 台计算机不包含在计算机池中。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:

    • PS C:\> Set-BrokerDesktopGroup -PoolSizeExcludesMaintenanceMode $true

    单会话交付组的 PoolSizeExcludesMaintenanceMode 默认值为 False

    多会话交付组的 PoolSizeExcludesMaintenanceMode 默认值为 True

New-BrokerPowerTimeScheme

为交付组创建 BrokerPowerTimeScheme。有关详细信息,请参阅 https://citrix.github.io/delivery-controller-sdk/Broker/New-BrokerPowerTimeScheme/

示例

假设您要为 UID 值为 3 的交付组创建电源时间方案。新方案涵盖周末、星期一和星期二。方案中包含的日期,上午 8:00 到下午 6:30 的时间段定义为高峰时段。对于高峰时段,池大小(保持开机的计算机数量)为 20。对于非高峰时段,池大小为 5。您可以使用 Set-BrokerDesktopGroup PowerShell 命令。例如:

  • PS C:\> $ps48=(0..47 | %{ if ($_ -lt 16 -or $_ -gt 37) { 5 } else { 20 } } )
  • PS C:\> $pt48=(0..47 | %{ if ($_ -lt 16 -or $_ -gt 37) { $false } else { $true } } )
  • PS C:\> New-BrokerPowerTimeScheme -Name 'First Half Week' -DaysOfWeek Weekend,Monday,Tuesday -DesktopGroupUid 3 -PeakHalfHours $pt48 -PoolSize $ps48

动态会话超时参数

以下 Broker PowerShell SDK cmdlet 已通过支持多个新参数进行了扩展,以实现动态会话超时:

  • Get-BrokerDesktopGroup
  • New-BrokerDesktopGroup
  • Set-BrokerDesktopGroup

这些参数包括:

  • DisconnectPeakIdleSessionAfterSeconds – 表示在高峰时段空闲会话断开连接后的秒数。此属性的默认值为 0,表示在高峰时段禁用其关联行为。大于 0 的值仅在高峰时段为交付组启用其行为。

  • DisconnectOffPeakIdleSessionAfterSeconds - 表示在非高峰时段空闲会话断开连接后的秒数。此属性的默认值为 0,表示在非高峰时段禁用其关联行为。大于 0 的值仅在非高峰时段为交付组启用其关联行为。

  • LogoffPeakDisconnectedSessionAfterSeconds - 表示在高峰时段断开连接的会话终止后的秒数。此属性的默认值为 0,表示在高峰时段禁用其关联行为。大于 0 的值仅在高峰时段为交付组启用其关联行为。

  • LogoffOffPeakDisconnectedSessionAfterSeconds - 表示在非高峰时段断开连接的会话终止后的秒数。此属性的默认值为 0,表示在非高峰时段禁用其关联行为。大于 0 的值仅在非高峰时段为交付组启用其关联行为。

示例

假设您要为名为“MyDesktop”的交付组将高峰时段的空闲会话超时设置为 3,600 秒。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:

  • C:\PS> Set-BrokerDesktopGroup "MyDesktop" -DisconnectOffPeakIdleSessionAfterSeconds 3600

这样做会断开名为“MyDesktop”的桌面组中在非高峰时段空闲超过 1 小时的会话。

Broker PowerShell SDK 命令