Citrix Daas SDK

New-BrokerDesktopGroup

Create a new desktop group for managing the brokering of groups of desktops.

Syntax

New-BrokerDesktopGroup
   [-AdminFolder <AdminFolder>]
   [-AllowReconnectInMaintenanceMode <Boolean>]
   [-AppDisks <Guid[]>]
   [-AppProtectionKeyLoggingRequired <Boolean>]
   [-AppProtectionScreenCaptureRequired <Boolean>]
   [-AutomaticPowerOnForAssigned <Boolean>]
   [-AutomaticPowerOnForAssignedDuringPeak <Boolean>]
   [-AutomaticRestartForUntaggedMachines <Boolean>]
   [-AutoscaleLogOffReminderEnabled <Boolean>]
   [-AutoscaleLogOffReminderIntervalSecondsOffPeak <Int32>]
   [-AutoscaleLogOffReminderIntervalSecondsPeak <Int32>]
   [-AutoscaleLogOffReminderMessage <String>]
   [-AutoscaleLogOffReminderTitle <String>]
   [-AutoscaleLogOffWarningMessage <String>]
   [-AutoscaleLogOffWarningTitle <String>]
   [-AutoscaleMaxSecondsBeforeForcedLogOffDuringOffPeak <Int32>]
   [-AutoscaleMaxSecondsBeforeForcedLogOffDuringPeak <Int32>]
   [-AutoscalingEnabled <Boolean>]
   [-ColorDepth <ColorDepth>]
   [-DeliveryType <DeliveryType>]
   [-Description <String>]
   -DesktopKind <DesktopKind>
   [-DisconnectOffPeakIdleSessionAfterSeconds <Int32>]
   [-DisconnectPeakIdleSessionAfterSeconds <Int32>]
   [-Enabled <Boolean>]
   [-IconUid <Int32>]
   [-InMaintenanceMode <Boolean>]
   [-IsRemotePC <Boolean>]
   [-LicenseModel <LicenseModel>]
   [-LogoffOffPeakDisconnectedSessionAfterSeconds <Int32>]
   [-LogoffPeakDisconnectedSessionAfterSeconds <Int32>]
   [-MachineCost <Decimal>]
   [-MachineLogOnType <MachineLogOnType>]
   [-MinimumFunctionalLevel <FunctionalLevel>]
   [-Name] <String>
   [-OffPeakBufferSizePercent <Int32>]
   [-OffPeakDisconnectAction <SessionChangeHostingAction>]
   [-OffPeakDisconnectTimeout <Int32>]
   [-OffPeakExtendedDisconnectAction <SessionChangeHostingAction>]
   [-OffPeakExtendedDisconnectTimeout <Int32>]
   [-OffPeakLogOffAction <SessionChangeHostingAction>]
   [-OffPeakLogOffTimeout <Int32>]
   [-PeakAutoscaleAssignedPowerOnIdleAction <String>]
   [-PeakAutoscaleAssignedPowerOnIdleTimeout <Int32>]
   [-PeakBufferSizePercent <Int32>]
   [-PeakDisconnectAction <SessionChangeHostingAction>]
   [-PeakDisconnectTimeout <Int32>]
   [-PeakExtendedDisconnectAction <SessionChangeHostingAction>]
   [-PeakExtendedDisconnectTimeout <Int32>]
   [-PeakLogOffAction <SessionChangeHostingAction>]
   [-PeakLogOffTimeout <Int32>]
   [-PolicySetGuid <Guid>]
   [-PowerOffDelay <Int32>]
   [-ProductCode <String>]
   [-ProtocolPriority <String[]>]
   [-PublishedName <String>]
   [-RequiredSleepCapability <String>]
   [-ResourceLeasingEnabled <Boolean>]
   [-RestrictAutoscaleMinIdleUntaggedPercentDuringOffPeak <Int32>]
   [-RestrictAutoscaleMinIdleUntaggedPercentDuringPeak <Int32>]
   [-RestrictAutoscaleTagUid <Int32>]
   [-ReuseMachinesWithoutShutdownInOutage <Boolean>]
   [-Scope <String[]>]
   [-SecureIcaRequired <Boolean>]
   [-SessionSupport <SessionSupport>]
   [-SettlementPeriodBeforeAutoShutdown <TimeSpan>]
   [-SettlementPeriodBeforeUse <TimeSpan>]
   [-ShutdownDesktopsAfterUse <Boolean>]
   [-TenantId <Guid>]
   [-TimeZone <String>]
   [-TurnOnAddedMachine <Boolean>]
   [-UseVerticalScaling <Boolean>]
   [-UUID <Guid>]
   [-ZonePreferences <ZonePreference[]>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->

Description

The New-BrokerDesktopGroup cmdlet creates a new broker desktop group that can then be used to manage the brokering settings of all desktops within that desktop group. Once the desktop group has been created, you can create desktops in it by adding the appropriate broker machines to it using the Add-BrokerMachine or Add-BrokerMachinesToDesktopGroup cmdlets.

Desktop groups hold settings that apply to all desktops they contain.

For any automatic power management settings of a desktop group to take effect, the group’s TimeZone property must be specified. Automatic power management operations include pool management (power time schemes), reboot schedules, session disconnect and logoff actions, and powering on assigned machines etc.

Examples

EXAMPLE 1

Create a desktop group to manage the brokering of private desktops, which will appear to users with the name “MyDesktop”.

New-BrokerDesktopGroup "Assigned Desktops" -PublishedName "MyDesktop" -DesktopKind Private
<!--NeedCopy-->

Parameters

-Name

The name of the new broker desktop group.

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

-DesktopKind

The kind of desktops this group will hold. Valid values are Private and Shared.

Type: DesktopKind
Position: Named
Default value: None
Required: True
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AdminFolder

The folder in which the new desktop group should reside (if any).

Type: AdminFolder
Position: Named
Default value: None (root folder)
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AllowReconnectInMaintenanceMode

Whether the maintenance mode allows session reconnect to various Session support types.

Type: Boolean
Position: Named
Default value: False
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AppDisks

Specifies the application disks to be used by machines in the desktop group.

Type: Guid[]
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AppProtectionKeyLoggingRequired

Specifies whether key logging app protection is required.

Type: Boolean
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AppProtectionScreenCaptureRequired

Specifies whether screen capture app protection is required.

Type: Boolean
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AutomaticPowerOnForAssigned

Specifies whether assigned desktops in the desktop group that are either off or suspended at the start of a peak time period are automatically restarted. Only relevant for groups whose DesktopKind is Private.

Type: Boolean
Position: Named
Default value: True
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AutomaticPowerOnForAssignedDuringPeak

Specifies whether assigned desktops in the desktop group that are found to be off at any point during a peak time are automatically restarted. Only relevant for groups whose DesktopKind is Private and which have AutomaticPowerOnForAssigned set to true.

This setting applies only to machines that are off, not suspended.

Type: Boolean
Position: Named
Default value: False
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AutomaticRestartForUntaggedMachines

Indicates whether untagged single-session machines belonging to a desktop group configured for restrict Autoscale and shutdown after use should restart after untainting.

Type: Boolean
Position: Named
Default value: True
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AutoscaleLogOffReminderEnabled

Boolean value indicating whether the warning messages should be sent on an interval to nudge a logoff should be sent on an interval when autoscale is enabled.

Type: Boolean
Position: Named
Default value: False
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AutoscaleLogOffReminderIntervalSecondsOffPeak

Represents the interval in seconds for which messages are sent to the user during off peak time when autoscale is enabled. This message will nudge users to log off instead of forcibly logging them off

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AutoscaleLogOffReminderIntervalSecondsPeak

Represents the interval in seconds for which messages are sent to the user during peak time when autoscale is enabled. This message will nudge users to log off instead of forcibly logging them off

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AutoscaleLogOffReminderMessage

Specifies the notification message to display to users in active sessions belonging to machines needed by Autoscale for shutdown

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

-AutoscaleLogOffReminderTitle

Specifies the notification message dialog title displayed when Autoscale issues a logoff reminder request.

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

-AutoscaleLogOffWarningMessage

Specifies the warning message to display to users in active sessions prior to Autoscale issuing a logoff request.

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

-AutoscaleLogOffWarningTitle

Specifies the warning message dialog title displayed prior to Autoscale issuing a logoff request.

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

-AutoscaleMaxSecondsBeforeForcedLogOffDuringOffPeak

Specifies the minimum seconds that need to elapse before Autoscale logs off the active sessions on the draining machines belonging to the delivery group during off-peak time. This property will override the power-off delay behavior if it is configured to a value greater than zero.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AutoscaleMaxSecondsBeforeForcedLogOffDuringPeak

Specifies the minimum seconds that need to elapse before Autoscale logs off the active sessions on the draining machines belonging to the delivery group during peak time. This property will override the power-off delay behavior if it is configured to a value greater than zero.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AutoscalingEnabled

Specifies whether machines in this desktop group can be Autoscaled.

Type: Boolean
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-ColorDepth

Specifies the color depth that the ICA session should use for desktops in this group. Valid values are FourBit, EightBit, SixteenBit, and TwentyFourBit.

Type: ColorDepth
Position: Named
Default value: TwentyFourBit
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-DeliveryType

Specifies whether desktops, applications, or both, can be delivered from machines contained within the new desktop group. Desktop groups with a DesktopKind of Private cannot be used to deliver both desktops and applications. Defaults to DesktopsOnly if not specified.

Valid values are DesktopsOnly, AppsOnly, and DesktopsAndApps.

Type: DeliveryType
Position: Named
Default value: DesktopsOnly
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-Description

A description for this desktop group useful for administrators of the site.

Type: String
Position: Named
Default value: Null
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: True

-DisconnectOffPeakIdleSessionAfterSeconds

Specifies the time in seconds after which an idle session belonging to the delivery group is disconnected during off-peak time.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-DisconnectPeakIdleSessionAfterSeconds

Specifies the time in seconds after which an idle session belonging to the delivery group is disconnected during peak time.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-Enabled

Whether the desktop group should be in the enabled state; disabled desktop groups do not appear to users.

Type: Boolean
Position: Named
Default value: True
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-IconUid

The UID of the broker icon to be displayed to users for their desktop(s) in this desktop group.

Type: Int32
Position: Named
Default value: The Uid of the default desktop icon in this site - use the Get-BrokerSite cmdlet to find this value.
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-InMaintenanceMode

Whether the desktop should be created in maintenance mode; a desktop group in maintenance mode will not allow users to connect or reconnect to their desktops.

Type: Boolean
Position: Named
Default value: False
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-IsRemotePC

Specifies whether this is to be a Remote PC desktop group.

IsRemotePC can only be enabled when:

  • SessionSupport is SingleSession
  • DeliveryType is DesktopsOnly
  • DesktopKind is Private
Type: Boolean
Position: Named
Default value: False
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-LicenseModel

The license model for this desktop group. If none is specified, then the site-wide license model is used.

Type: LicenseModel
Position: Named
Default value: Null
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-LogoffOffPeakDisconnectedSessionAfterSeconds

Specifies the time in seconds after which a disconnected session belonging to the delivery group is terminated during off-peak time.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-LogoffPeakDisconnectedSessionAfterSeconds

Specifies the time in seconds after which a disconnected session belonging to the delivery group is terminated during peak time.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-MachineCost

The per-hour instance cost of machines in this desktop group.

Type: Decimal
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-MachineLogOnType

Specifies the login type for the desktop group. Values can be:

  • ActiveDirectory - Perform Active Directory login on the machine.
  • LocalMappedAccount - Perform local mapped account login on the machine.
Type: MachineLogOnType
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-MinimumFunctionalLevel

The minimum FunctionalLevel required for machines to work successfully in the desktop group.

Valid values are L5, L7, L7_6, L7_7, L7_8, L7_9, L7_20, L7_25

Type: FunctionalLevel
Position: Named
Default value: The FunctionalLevel of the current release (L7_6); by default no machines with less than the most current FunctionalLevel will be functional.
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-OffPeakBufferSizePercent

The percentage of single-session machines that are kept available in an idle state, or for multi-session machines, the percentage of the total load capacity to be kept available outside peak hours.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-OffPeakDisconnectAction

The action to be performed after a configurable period of a user session disconnecting outside peak hours. Possible values are Nothing, Suspend, or Shutdown

Type: SessionChangeHostingAction
Position: Named
Default value: Nothing
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-OffPeakDisconnectTimeout

The number of minutes before the configured action should be performed after a user session disconnects outside peak hours.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-OffPeakExtendedDisconnectAction

The action to be performed after a second configurable period of a user session disconnecting outside peak hours. Possible values are Nothing, Suspend, or Shutdown.

Type: SessionChangeHostingAction
Position: Named
Default value: Nothing
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-OffPeakExtendedDisconnectTimeout

The number of minutes before the second configured action should be performed after a user session disconnects outside peak hours.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-OffPeakLogOffAction

The action to be performed after a configurable period of a user session ending outside peak hours. Possible values are Nothing, Suspend, or Shutdown.

Type: SessionChangeHostingAction
Position: Named
Default value: Nothing
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-OffPeakLogOffTimeout

The number of minutes before the configured action should be performed after a user session ends outside peak hours.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PeakAutoscaleAssignedPowerOnIdleAction

The action to be performed on an assigned machine started by Autoscale if that machine then remains unused for a defined period of time.

Type: String
Accepted values: Nothing, Shutdown, Suspend
Position: Named
Default value: Nothing
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PeakAutoscaleAssignedPowerOnIdleTimeout

The number of minutes before the configured action is performed on an assigned machine previously started by autoscale that subsequently remains unused.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PeakBufferSizePercent

The percentage of single-session machines that are kept available in an idle state, or for multi-session machines, the percentage of the total load capacity to be kept available in peak hours.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PeakDisconnectAction

The action to be performed after a configurable period of a user session disconnecting in peak hours. Possible values are Nothing, Suspend, or Shutdown.

Type: SessionChangeHostingAction
Position: Named
Default value: Nothing
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PeakDisconnectTimeout

The number of minutes before the configured action should be performed after a user session disconnects in peak hours.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PeakExtendedDisconnectAction

The action to be performed after a second configurable period of a user session disconnecting in peak hours. Possible values are Nothing, Suspend, or Shutdown.

Type: SessionChangeHostingAction
Position: Named
Default value: Nothing
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PeakExtendedDisconnectTimeout

The number of minutes before the second configured action should be performed after a user session disconnects in peak hours.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PeakLogOffAction

The action to be performed after a configurable period of a user session ending in peak hours. Possible values are Nothing, Suspend, or Shutdown.

Type: SessionChangeHostingAction
Position: Named
Default value: Nothing
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PeakLogOffTimeout

The number of minutes before the configured action should be performed after a user session ends in peak hours.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PolicySetGuid

The policy set assigned to this delivery group.

Type: Guid
Position: Named
Default value: Null
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PowerOffDelay

The number of minutes following a power-on operation that Auto Scale will wait before attempting to power off that same machine. Possible values in the range 0 - 60.

Type: Int32
Position: Named
Default value: 30
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-ProductCode

The licensing product code for this desktop group. If none is specified, then the site-wide product code is used.

Type: String
Position: Named
Default value: Null
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: True

-ProtocolPriority

A list of protocol names in the order in which they should be attempted for use during connection.

Type: String[]
Position: Named
Default value: Null
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PublishedName

The name that will be displayed to users for their desktop(s) in this desktop group.

Type: String
Position: Named
Default value: The same value as that supplied for the name of the desktop group.
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: True

-RequiredSleepCapability

The sleep capability of this desktop group. Possible values are None, or Suspend.

Type: String
Accepted values: None, Suspend
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-ResourceLeasingEnabled

Indicates if this desktop group is enabled for resource leasing.

Type: Boolean
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-RestrictAutoscaleMinIdleUntaggedPercentDuringOffPeak

This indicates the percentage that the number of untagged single-session machines in an idle state, or for multi-session machines, the untagged available load capacity must fall below before Autoscale powers on and manages ‘tagged’ machines, as per policy, in off-peak. If the number of untagged machines in an idle state, or the untagged available load capacity goes above this threshold value, Autoscale will attempt to shut down ‘tagged’ machines. Possible values are in the range -1 - 100, where -1 (default) disables this behavior. This is only relevant for desktop groups configured for Restrict Autoscaling.

Type: Int32
Position: Named
Default value: -1
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-RestrictAutoscaleMinIdleUntaggedPercentDuringPeak

This indicates the percentage that the number of untagged single-session machines in an idle state, or for multi-session machines, the untagged available load capacity must fall below before Autoscale powers on and manages ‘tagged’ machines, as per policy, in peak-time. If the number of untagged machines in an idle state, or the untagged available load capacity goes above this threshold value, Autoscale will attempt to shut down ‘tagged’ machines. Possible values are in the range -1 - 100, where -1 (default) disables this behavior. This is only relevant for delivery groups configured for Restrict Autoscaling.

Type: Int32
Position: Named
Default value: -1
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-RestrictAutoscaleTagUid

If set to a Tag UID, only machines that have this tag will be auto scaled.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-ReuseMachinesWithoutShutdownInOutage

Specifies whether power cycle operations are required during outage for pooled machines.

Type: Boolean
Position: Named
Default value: False
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-Scope

Specifies the name of the delegated administration scope to which the desktop group should belong.

Type: String[]
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-SecureIcaRequired

Whether HDX connections to desktops in the new desktop group require the use of a secure protocol.

Type: Boolean
Position: Named
Default value: False
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-SessionSupport

Specifies whether machines in the desktop group are single or multi-session capable. Values can be:

  • SingleSession - Single-session only machine.
  • MultiSession - Multi-session capable machine.
Type: SessionSupport
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-SettlementPeriodBeforeAutoShutdown

Time after a session ends during which automatic shutdown requests (for example, shutdown after use, idle pool management) are deferred. Any outstanding shutdown request takes effect after the settlement period expires. This is typically used to configure time to allow logoff scripts to complete.

Type: TimeSpan
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-SettlementPeriodBeforeUse

Idle period before a machine can be selected to host a new session after registration or the end of a previous session. This is typically used to allow a machine to become idle following processing associated with start-up or logoff actions. A machine may still be selected during the idle period if no other machine is available for immediate use.

Type: TimeSpan
Position: Named
Default value: 0
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-ShutdownDesktopsAfterUse

Whether desktops in this desktop group should be automatically shut down when each user session completes (only relevant to power-managed desktops).

Type: Boolean
Position: Named
Default value: False
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-TenantId

Specifies identity of tenant associated with desktop group. Must always be specified in multitenant sites, must not be specified otherwise.

Type: Guid
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-TimeZone

The time zone in which this desktop group’s machines reside.

The time zone must be specified for any of the group’s automatic power management settings to take effect. Automatic power management operations include pool management (power time schemes), reboot schedules, session disconnect and logoff actions, and powering on assigned machines etc.

Type: String
Position: Named
Default value: Null
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: True

-TurnOnAddedMachine

This flag specifies whether the Broker Service should attempt to power on machines when they are added to the desktop group.

Type: Boolean
Position: Named
Default value: $false for single session machines and $true for multi-session machines.
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-UseVerticalScaling

Determines whether to use vertical scaling when considering RDS machines in the desktop group for launches. Vertical scaling would saturate machines in the current pool rather than send sessions to the least loaded machines. This would be a trade in performance vs. cost, where vertical scaling would be less costly.

With the default value ($null), the site-wide value will be inherted. A value of $false indicates that horizontal scaling should be used.

Type: Boolean
Position: Named
Default value: Null
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-UUID

An optional GUID for this desktop group.

Type: Guid
Position: Named
Default value: A new GUID is generated if none is supplied.
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-ZonePreferences

Ordered list of zone preferences to be applied when launching resources from this desktop group. Valid zone preference values are UserLocation, UserHome, UserHomeOnly and ApplicationHome.

The list can have zero or more entries subject to the following restrictions: Zone preferences can only be applied to groups having a DesktopKind of Shared; the same zone preference value cannot occur in the list more than once; the UserHome and UserHomeOnly values are mutually exclusive and cannot both appear in the list.

Type: ZonePreference[]
Position: Named
Default value: For shared groups the default preference list is ApplicationHome, UserHome, then UserLocation.
Required: False
Accept pipeline input: True (ByPropertyName)
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

None

You cannot pipe input into this cmdlet.

Outputs

Citrix.Broker.Admin.SDK.DesktopGroup

The newly created desktop group.

Notes

Once a new desktop group is created, you can create desktops in it by adding the appropriate broker machines to it using the Add-BrokerMachine or Add-BrokerMachinesToDesktopGroup cmdlets.

New-BrokerDesktopGroup