Citrix Virtual Apps and Desktops SDK

Set-BrokerPowerTimeScheme

Modifies an existing power time scheme.

Syntax

Set-BrokerPowerTimeScheme
   [-InputObject] <PowerTimeScheme[]>
   [-PassThru]
   [-DaysOfWeek <TimeSchemeDays>]
   [-DisplayName <String>]
   [-PeakHalfHours <Boolean[]>]
   [-PeakHours <Boolean[]>]
   [-PoolSize <Int32[]>]
   [-PoolSizeHalfHours <Int32[]>]
   [-PoolUsingPercentage <Boolean>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
Set-BrokerPowerTimeScheme
   [-Name] <String>
   [-PassThru]
   [-DaysOfWeek <TimeSchemeDays>]
   [-DisplayName <String>]
   [-PeakHalfHours <Boolean[]>]
   [-PeakHours <Boolean[]>]
   [-PoolSize <Int32[]>]
   [-PoolSizeHalfHours <Int32[]>]
   [-PoolUsingPercentage <Boolean>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->

Description

The Set-BrokerPowerTimeScheme cmdlet modifies an existing time scheme.

Each power time scheme is associated with a particular desktop group, and covers one or more days of the week, defining which hours of those days are considered peak times and which are off-peak times.In addition, the time scheme defines a pool size value for each hour of the day for the days of the week covered by the time scheme. No one desktop group can be associated with two or more time schemes that cover the same day of the week.

For more information about the power policy mechanism and pool size management, see ‘help about_Broker_PowerManagement’.

Examples

EXAMPLE 1

Sets the pool size for the power time scheme named ‘Development Weekdays’ to be 20 for the time between 8am to 6:30pm, and 5 for other times.

Set-BrokerPowerTimeScheme -Name 'Development Weekdays' -PoolSizeHalfHours ( 0..47 | %{ if ($_ -lt 16 -or $_ -gt 37) { 5 } else { 20 } } )
<!--NeedCopy-->

Parameters

-InputObject

The power time scheme to be changed.

Type: PowerTimeScheme[]
Position: 2
Default value: None
Required: True
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-Name

Identifies the power time scheme to be changed by name.

Type: String
Position: 2
Default value: None
Required: True
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: True

-PassThru

This cmdlet does not generate any output, unless you use the PassThru parameter, in which case it returns the affected record.

Type: SwitchParameter
Position: Named
Default value: False
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-DaysOfWeek

Changes the pattern of days of the week that the time scheme applies to. The pattern of days is specified as a single value or a list of values, where each value refers to either a single day or defined group of days.

Valid values are: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Weekend and Weekdays.

Type: TimeSchemeDays
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-DisplayName

Changes the name that is used by the DesktopStudio console when showing the time scheme.

Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-PeakHalfHours

A set of 48 boolean flag values, one for each hour half of the day. The first value in the array relates to midnight to 00:29, the next one to 0:30 AM to 0:59 and so on, with the last array element relating to 11:30 PM to 11:59. If the flag is $true it means that the associated half hour of the day is considered a peak time; if $false it means that it is considered off-peak.

If fewer than 48 values are supplied, the final missing values are assumed to be ‘false’, and if more than 48 values are supplied, only the first 48 are used.

Type: Boolean[]
Position: Named
Default value: 48 $false values, meaning all half hours are off-peak
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-PeakHours

Changes the pattern of hours considered ‘peak’ vs ‘off-peak’ for the days covered by the time scheme. A 24-entry array of boolean truth values is expected, where the zeroth entry of the array relates to the time period between midnight and 0:59, the first relates to 1am to 1:59 and so on, with the last array element relating to 11 PM to 11:59. If the flag value is $true it means the associated hour of the day is considered a peak time; if $false it means that it is considered off-peak.

If fewer than 24 values are supplied, the final missing values are assumed to be ‘false’, and if more than 24 values are supplied, only the first 24 are used.

Type: Boolean[]
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-PoolSize

Changes the requested pool size of running machines at the various hours of the day (for single-session desktop groups, or half hours for multi-session) for the days covered by the time scheme.

For single-session desktop groups, a 24-entry array of integer values is expected, where the zeroth entry of the array relates to the time period between midnight and 0:59, the first relates to 1 AM to 1:59 and so on, with the last array element relating to 11 PM to 11:59. If fewer than 24 values are supplied, the final missing values are assumed to be -1, and if more than 24 values are supplied, only the first 24 are used.

For multi-session desktop groups, a 48-entry array of integer values is expected, where the zeroth entry of the array relates to the time period between midnight and 0:29, the first relates to 0:30 AM to 0:59 and so on, with the last array element relating to 11:30 PM to 11:59. If fewer than 48 values are supplied, the final missing values are assumed to be -1, and if more than 48 values are supplied, only the first 48 are used.

The pool size array entry values are either absolute numbers of machines that should be running or are a percentage of the machines in the desktop group that should be running during the associated hour of the day. A value of -1 in the array signifies that no management of the number of running machines should be attempted during the associated hour of the day.

Type: Int32[]
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-PoolSizeHalfHours

Changes the requested pool size of running machines at the various half-hours of the day for the days covered by the time scheme.

A 48-entry array of integer values is expected, where the zeroth entry of the array relates to the time period between midnight and 0:29, the first relates to 0:30 AM to 0:59 and so on, with the last array element relating to 11:30 PM to 11:59. If fewer than 48 values are supplied, the final missing values are assumed to be -1, and if more than 48 values are supplied, only the first 48 are used.

The pool size array entry values are either absolute numbers of machines that should be running or are a percentage of the machines in the desktop group that should be running during the associated half hour of the day. A value of -1 in the array signifies that no management of the number of running machines should be attempted during the associated half hour of the day.

Type: Int32[]
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-PoolUsingPercentage

Changes whether pool size values from the ‘PoolSize’ or ‘PoolSizeHalfHours’ array are evaluated as absolute numbers of running machines or as a percentage of machines in the desktop group that are to be maintained as running.

A value of $true indicates that the pool size array values are percentages of total machines in the desktop group and a value of $false indicates that the pool size array values are absolute numbers of machines to maintain as running.

Type: Boolean
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-LoggingId

Specifies the identifier of the high level operation that this cmdlet call forms a part of. Desktop Studio and Desktop Director typically create High Level Operations. PowerShell scripts can also wrap a series of cmdlet calls in a High Level Operation by way of the Start-LogHighLevelOperation and Stop-LogHighLevelOperation cmdlets.

Type: Guid
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

CitrixCommonParameters

This cmdlet supports the common Citrix parameters: -AdminAddress, -AdminClientIP, -BearerToken, -TraceParent, -TraceState and -VirtualSiteId. For more information, see about_CitrixCommonParameters.

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

Citrix.Broker.Admin.SDK.PowerTimeScheme

The power time scheme to be changed.

Outputs

None or Citrix.Broker.Admin.SDK.PowerTimeScheme

This cmdlet does not generate any output, unless you use

the PassThru parameter, in which case it generates a

Citrix.Broker.Admin.SDK.PowerTimeScheme object.

Set-BrokerPowerTimeScheme