Citrix Daas SDK

New-VusCatalogSchedule

Creates a new upgrade schedule for a catalog

Syntax

New-VusCatalogSchedule
   -CatalogUid <Int32>
   -ScheduledTimeInUtc <DateTime>
   -DurationInHours <Int32>
   [-IncludeAdditionalComponents <ComponentSelection[]>]
   [-ExcludeComponents <ComponentSelection[]>]
   [-Features <String[]>]
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUid <Int32>
   [-UpgradeNow]
   -DurationInHours <Int32>
   [-IncludeAdditionalComponents <ComponentSelection[]>]
   [-ExcludeComponents <ComponentSelection[]>]
   [-Features <String[]>]
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUid <Int32>
   -ScheduledTimeInUtc <DateTime>
   -DurationInHours <Int32>
   [-Features <String[]>]
   -IncludeAdditionalComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUid <Int32>
   -ScheduledTimeInUtc <DateTime>
   -DurationInHours <Int32>
   [-Features <String[]>]
   -ExcludeComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUid <Int32>
   [-UpgradeNow]
   -DurationInHours <Int32>
   [-Features <String[]>]
   -IncludeAdditionalComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUid <Int32>
   [-UpgradeNow]
   -DurationInHours <Int32>
   [-Features <String[]>]
   -ExcludeComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUid <Int32>
   -ScheduledTimeInUtc <DateTime>
   -DurationInHours <Int32>
   [-Features <String[]>]
   -IncludeAdditionalComponentsXml <String>
   -ExcludeComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUid <Int32>
   [-UpgradeNow]
   -DurationInHours <Int32>
   [-Features <String[]>]
   -IncludeAdditionalComponentsXml <String>
   -ExcludeComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUuid <String>
   -ScheduledTimeInUtc <DateTime>
   -DurationInHours <Int32>
   [-IncludeAdditionalComponents <ComponentSelection[]>]
   [-ExcludeComponents <ComponentSelection[]>]
   [-Features <String[]>]
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUuid <String>
   [-UpgradeNow]
   -DurationInHours <Int32>
   [-IncludeAdditionalComponents <ComponentSelection[]>]
   [-ExcludeComponents <ComponentSelection[]>]
   [-Features <String[]>]
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUuid <String>
   -ScheduledTimeInUtc <DateTime>
   -DurationInHours <Int32>
   [-Features <String[]>]
   -IncludeAdditionalComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUuid <String>
   -ScheduledTimeInUtc <DateTime>
   -DurationInHours <Int32>
   [-Features <String[]>]
   -ExcludeComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUuid <String>
   [-UpgradeNow]
   -DurationInHours <Int32>
   [-Features <String[]>]
   -IncludeAdditionalComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUuid <String>
   [-UpgradeNow]
   -DurationInHours <Int32>
   [-Features <String[]>]
   -ExcludeComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUuid <String>
   -ScheduledTimeInUtc <DateTime>
   -DurationInHours <Int32>
   [-Features <String[]>]
   -IncludeAdditionalComponentsXml <String>
   -ExcludeComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogUuid <String>
   [-UpgradeNow]
   -DurationInHours <Int32>
   [-Features <String[]>]
   -IncludeAdditionalComponentsXml <String>
   -ExcludeComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogName <String>
   -ScheduledTimeInUtc <DateTime>
   -DurationInHours <Int32>
   [-IncludeAdditionalComponents <ComponentSelection[]>]
   [-ExcludeComponents <ComponentSelection[]>]
   [-Features <String[]>]
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogName <String>
   [-UpgradeNow]
   -DurationInHours <Int32>
   [-IncludeAdditionalComponents <ComponentSelection[]>]
   [-ExcludeComponents <ComponentSelection[]>]
   [-Features <String[]>]
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogName <String>
   -ScheduledTimeInUtc <DateTime>
   -DurationInHours <Int32>
   [-Features <String[]>]
   -ExcludeComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogName <String>
   -ScheduledTimeInUtc <DateTime>
   -DurationInHours <Int32>
   [-Features <String[]>]
   -IncludeAdditionalComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogName <String>
   [-UpgradeNow]
   -DurationInHours <Int32>
   [-Features <String[]>]
   -IncludeAdditionalComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogName <String>
   [-UpgradeNow]
   -DurationInHours <Int32>
   [-Features <String[]>]
   -ExcludeComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogName <String>
   -ScheduledTimeInUtc <DateTime>
   -DurationInHours <Int32>
   [-Features <String[]>]
   -IncludeAdditionalComponentsXml <String>
   -ExcludeComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-VusCatalogSchedule
   -CatalogName <String>
   [-UpgradeNow]
   -DurationInHours <Int32>
   [-Features <String[]>]
   -IncludeAdditionalComponentsXml <String>
   -ExcludeComponentsXml <String>
   [-ConcurrencyLevel <Int32>]
   [-FailureThreshold <Int32>]
   [-VdaWorkstationPackageUri <String>]
   [-VdaServerPackageUri <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->

Description

The New-VusCatalogSchedule cmdlet creates a new upgrade schedule for all machines in the catalog.

The service internally gets a list of VDAs that are part of this catalog and schedules an upgrade for each machine. Any machine newly added to catalog after the expansion is not scheduled.

Examples

EXAMPLE 1

Schedule upgrade for a catalog on specified date for specified hours.

New-VusCatalogSchedule -CatalogName "Workstation catalog" -ScheduledTimeInUtc ([System.DateTime]::ParseExact("10/23/2021 07:00 PM", 'MM/dd/yyyy hh:mm tt', $null)) -DurationInHours 4
<!--NeedCopy-->

EXAMPLE 2

Schedule upgrade for a catalog to start right away for specified hours.

New-VusCatalogSchedule -CatalogName "Workstation catalog" -UpgradeNow -DurationInHours 4
<!--NeedCopy-->

EXAMPLE 3

SCList represents the Selected Components List comprising of ComponentA and ComponentB with Component ID’s indicated below, which were previously not installed on VDAs of catalog but needs to be installed/included during the VDA Upgrade. $ComponentA = [PSCustomObject]@{ ComponentId = [System.guid]::new(‘396394b3-53f0-48e0-8d8c-61dad39e3f17’) Parameters = $EmptyParamList }

$ComponentB = [PSCustomObject]@{ ComponentId = [System.guid]::new(‘3ce3c043-5f32-497c-9099-0e1a6dc06647’) Parameters = $EmptyParamList } $SCList = @($ComponentA, $ComponentB)

$ComponentC Represent a Component installed on all VDAs of a Catalog but needs to be excluded during the VDA Upgrade. $ComponentC = [PSCustomObject]@{ ComponentId = [System.guid]::new(‘bddec677-9afb-49f0-9908-59a64f0f54f8’) Parameters = $EmptyParamList }

$FeatureA represents a feature that needs to be enabled on the VDAs of the catalog during the Upgrade. $FeatureA = [PSCustomObject]@{ ParameterId = [System.guid]::new(‘D9167E2C-2088-4301-BFA1-698F934B4E6B’) }

The above input parameters instruct the cmdlet to check if the ComponentA and ComponentB can be installed/Included for installation and ComponentC can be excluded from installation and FeatureA can be enabled on the VDAs of the Catalog with Uid 1 during the next Catalog Upgrade scheduled from VDA Upgrade Service. If this a valid selection then VUS Schedules an upgrade for catalog with Uid 1 to start right away for specified hours.

New-VusCatalogSchedule -CatalogUid 1 -UpgradeNow -DurationInHours 2 -IncludeAdditionalComponents SCList -ExcludeComponents $ComponentC -Features $EnableA
<!--NeedCopy-->

EXAMPLE 4

The XML Schema Definition (xsd) with which the xml string provided for parameters: IncludeAdditionalComponentsXml and ExcludeComponentsXml is validated is as given below: The ComponentId, ParamterId, FeatureId needed can be obtained from the output of Get-VusComponents.

SCXml represents a ComponentList in XML String format comprising of Component with Component ID(f515acf6-a309-4fe1-8ec6-5023cd0073f4) which has a Paramter with ParameterId(9c365ddc-6e25-48a0-9390-e58c03137d8a) and ParameterValue(testval) that was previously not installed on VDAs of catalog but needs to be installed/included during the VDA Upgrade.

$ScXml = “ “

$EcXml represents 2 Components in XML String format with ComponentIDs:(396394b3-53f0-48e0-8d8c-61dad39e3f17, 3ce3c043-5f32-497c-9099-0e1a6dc06647) that is installed on all VDAs of a Catalog but needs to be excluded during the VDA Upgrade.

$EcXml = “ “

Features represents the List of strings (feature ID Guids) that needs to be enabled on the VDAs of the catalog during the Upgrade.

$FeatureA and FeatureB represents features that needs to be enabled on the VDAs of the catalog during the Upgrade.

$FeatureA = ‘44FF6E61-E3CC-45D0-BE9B-F52B5AB72A08’

$FeatureB = ‘D9167E2C-2088-4301-BFA1-698F934B4E6B’

$FeaturesList = @($FeatureA,$FeatureB)

The above input parameters instruct the cmdlet to check if the components represented by ScXml can be installed/Included for installation and Component represented by EcXml can be excluded from installation and FeatureList can be enabled on the VDAs of the Catalog during the next Catalog Upgrade scheduled from VDA Upgrade Service.

If this a valid selection then VUS Schedules an upgrade for catalog with Uid 1 to start right away for specified hours.

New-VusCatalogSchedule -CatalogUid 1 -UpgradeNow -DurationInHours 2 -XmlInput -IncludeAdditionalComponentsXml $ScXml -ExcludeComponentsXml $EcXml -Features $Featureslist
<!--NeedCopy-->

EXAMPLE 5

Schedule upgrade that will use a custom location to download the installer package from.

New-VusCatalogSchedule -CatalogName "Workstation catalog" -UpgradeNow -DurationInHours 4 -VdaWorkstationPackageUri "\\hostname\VDA-Packages\VDAWorkstationSetup_2308.exe"
<!--NeedCopy-->

Parameters

-CatalogUid

UID of the catalog

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

-ScheduledTimeInUtc

Scheduled time in UTC for catalog schedule

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

-DurationInHours

Hours available to upgrade

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

-UpgradeNow

Switch to start upgrade at current time in UTC

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

-IncludeAdditionalComponentsXml

List of New Components(in XML format) that are to be included/added in the Upgrade. The XML Scehma definition(xsd) is provided in the examples section.ComponentId, ParameterId can be obtianed from the Get-VusComponents cmdlet.

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

-ExcludeComponentsXml

List of Installed Components that are to be excluded/omitted in the Upgrade.This parameter accepts XML string. The XML Scehma definition(xsd) is provided in the examples section. ComponentId, ParameterId can be obtianed from the Get-VusComponents cmdlet.

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

-CatalogUuid

UUID of the catalog

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

-CatalogName

Name of the catalog

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

-IncludeAdditionalComponents

List of New Components that are to be included/added in the Upgrade. This parameter accepts a List of Component PS Object. ComponentId and ParameterId can be obtianed from the Get-VusComponents cmdlet.

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

-ExcludeComponents

List of Installed Components that are to be excluded/omitted in the Upgrade. This parameter accepts a List of Component PS Object. ComponentId and ParameterId can be obtianed from the Get-VusComponents cmdlet.

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

-Features

List of string (FeatureId GUIDs) to be enabled on VDA. FeatureId can be obtained from the Get-VusComponents cmdlet

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

-ConcurrencyLevel

limits the Concurrent upgrades that can happen at any time in Upgrade Window.

  • Must be a positive number less than or equal to total number of machines in the catalog which are in UpgradeAvailable state.
Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-FailureThreshold

limits the number of failures that can take place during a scheduled upgrade.

  • Must be a positive number less than or equal to total number of machines in the catalog which are in UpgradeAvailable state.
Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-VdaWorkstationPackageUri

Custom location to download the VDA Workstation package from. Currently, only network shares (specified using a UNC path) are supported.

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

-VdaServerPackageUri

Custom location to download the VDA Server package from. Currently, only network shares (specified using a UNC path) are supported.

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

-LoggingId

Specifies the identifier of the high-level operation this cmdlet call forms a part of. Citrix Studio and 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

DateTime

Citrix.VdaUpdateService.Sdk.ComponentSelection

Component Information for the Selected/Excluded Component

Citrix.VdaUpdateService.Sdk.ComponentParameter

Feature/Parameter information for the selected feature/parameter

Outputs

Citrix.VdaUpdateService.Sdk.CatalogUpgrade

Upgrade information for catalog schedule being updated

New-VusCatalogSchedule