New-ProvMaintenanceCycle

Last published : Oct 31, 2026
Introduced in: Citrix Virtual Apps and Desktop 7 2407
Creates a new Maintenance Cycle

Syntax

New-ProvMaintenanceCycle
   -Operation <OperationType>
   [-MaintenanceCycleDescription <String>]
   [-AllVMs]
   -ProvisioningSchemeUid <Guid>
   -ScheduledStartTimeInUTC <DateTime>
   -MaxDurationInMinutes <Int32>
   [-PurgeDBAfterInDays <Int32>]
   [-SessionWarningTimeInMinutes <Int32>]
   [-SessionWarningLogOffTitle <String>]
   [-SessionWarningLogOffMessage <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
New-ProvMaintenanceCycle
   -Operation <OperationType>
   [-MaintenanceCycleDescription <String>]
   -VMName <String[]>
   -ProvisioningSchemeUid <Guid>
   -ScheduledStartTimeInUTC <DateTime>
   -MaxDurationInMinutes <Int32>
   [-PurgeDBAfterInDays <Int32>]
   [-SessionWarningTimeInMinutes <Int32>]
   [-SessionWarningLogOffTitle <String>]
   [-SessionWarningLogOffMessage <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
New-ProvMaintenanceCycle
   -Operation <OperationType>
   [-MaintenanceCycleDescription <String>]
   [-AllVMs]
   -ProvisioningSchemeUid <Guid>
   [-StartsNow]
   -MaxDurationInMinutes <Int32>
   [-PurgeDBAfterInDays <Int32>]
   [-SessionWarningTimeInMinutes <Int32>]
   [-SessionWarningLogOffTitle <String>]
   [-SessionWarningLogOffMessage <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
New-ProvMaintenanceCycle
   -Operation <OperationType>
   [-MaintenanceCycleDescription <String>]
   -VMName <String[]>
   -ProvisioningSchemeUid <Guid>
   [-StartsNow]
   -MaxDurationInMinutes <Int32>
   [-PurgeDBAfterInDays <Int32>]
   [-SessionWarningTimeInMinutes <Int32>]
   [-SessionWarningLogOffTitle <String>]
   [-SessionWarningLogOffMessage <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
New-ProvMaintenanceCycle
   -Operation <OperationType>
   [-MaintenanceCycleDescription <String>]
   [-AllVMs]
   -ProvisioningSchemeName <String>
   -ScheduledStartTimeInUTC <DateTime>
   -MaxDurationInMinutes <Int32>
   [-PurgeDBAfterInDays <Int32>]
   [-SessionWarningTimeInMinutes <Int32>]
   [-SessionWarningLogOffTitle <String>]
   [-SessionWarningLogOffMessage <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
New-ProvMaintenanceCycle
   -Operation <OperationType>
   [-MaintenanceCycleDescription <String>]
   -VMName <String[]>
   -ProvisioningSchemeName <String>
   -ScheduledStartTimeInUTC <DateTime>
   -MaxDurationInMinutes <Int32>
   [-PurgeDBAfterInDays <Int32>]
   [-SessionWarningTimeInMinutes <Int32>]
   [-SessionWarningLogOffTitle <String>]
   [-SessionWarningLogOffMessage <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
New-ProvMaintenanceCycle
   -Operation <OperationType>
   [-MaintenanceCycleDescription <String>]
   [-AllVMs]
   -ProvisioningSchemeName <String>
   [-StartsNow]
   -MaxDurationInMinutes <Int32>
   [-PurgeDBAfterInDays <Int32>]
   [-SessionWarningTimeInMinutes <Int32>]
   [-SessionWarningLogOffTitle <String>]
   [-SessionWarningLogOffMessage <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
New-ProvMaintenanceCycle
   -Operation <OperationType>
   [-MaintenanceCycleDescription <String>]
   -VMName <String[]>
   -ProvisioningSchemeName <String>
   [-StartsNow]
   -MaxDurationInMinutes <Int32>
   [-PurgeDBAfterInDays <Int32>]
   [-SessionWarningTimeInMinutes <Int32>]
   [-SessionWarningLogOffTitle <String>]
   [-SessionWarningLogOffMessage <String>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]

Description

Schedules a maintenance cycle either for a provisioning scheme or for a list of vms as specified by the user. The cycle will be executed for the operation given during cmdlet execution and is meant to start at the time specified in ScheduledStartTimeInUTC. MaxDurationInMinutes indicates the maximum amount of time allocated for the maintenance cycle

Examples

Parameters

-Operation

Specifies the operation to be executed in a maintenance cycle
Type: OperationType
Accepted values: ImageUpdate, HardwareUpdate, ResetOSDisk, ResetIDDisk
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2411

-MaxDurationInMinutes

Indicates the total allocated duration in minutes to the maintenance cycle
Type: Int32
Position: Named
Default value: 30
Required: True
Accept pipeline input: False
Accept wildcard characters: False

-VMName

An array of virtual machine names to which the maintenance cycle operation need to be executed
Type: String[]
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2411

-ProvisioningSchemeUid

Indicates the Uid of the provisioningscheme
Type: Guid
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2411

-ScheduledStartTimeInUTC

Indicates the time in UTC at which the maintenance cycle will be started This must be a date time powershell object and user is expected to supply it as a parameter to the cmdlet
Type: DateTime
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False

-ProvisioningSchemeName

Indicates the Name of the provisioningscheme
Type: String
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2411

-StartsNow

Indicates that the maintenance cycle has to be started immediately
Type: SwitchParameter
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2411

-AllVMs

Indicate that all virtual machines in the prov scheme has to be considered by the maintenance cycle
Type: SwitchParameter
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2411

-MaintenanceCycleDescription

A brief overview to understand what the maintenance cycle is about
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-PurgeDBAfterInDays

The duration of time in days for mcs to have the data in database after maintenance cycles goes into completed states, once the time expires the data will be purged
Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-SessionWarningTimeInMinutes

Buffer Time provided to the user to save date before powering down the vm by mcs
Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-SessionWarningLogOffTitle

Short Heading for the message to be displayed to the user
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2411

-SessionWarningLogOffMessage

Brief Message intended to be displayed to the user before powering down the vm
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2411

-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.

Removed Parameters

Parameters in this section were available in older releases, and have been removed or replaced due to changes in functionality.

-Operations

Indicates the operations to be performed on the maintenance cycle
Type: MaintenanceCycleOperationType[]
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False
Removed in: Citrix Virtual Apps and Desktop 7 2411

-CatalogName

Indicates the catalog bank to be used for the maintenance cycle
Type: String
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False
Removed in: Citrix Virtual Apps and Desktop 7 2411

-SessionLogOffMessage

Message intended to be displayed to the user before powering down the vm
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False
Removed in: Citrix Virtual Apps and Desktop 7 2411

Inputs

None

You can't pipe objects to this cmdlet.

Outputs

None

By default, this cmdlet returns no output.

Notes

The cmdlet can be used for the following valid operations 1. ResetOSDisk - Supported by default 2. ImageUpdate - Supported by default 3. HardwareUpdate -Supported by default 4. ResetIDDisk - Controlled by the Feature Toggle "McsMaintenanceCyclesResetIdentityDiskOperation". This feature toggle must be enabled to create maintenance cycles to perform Reset Identity Disk.
The cmdlet is associated to create a maintenance cycle for a respective operation provided by the user. It is expected for MCS to start the maintenance cycle at the scheduled time and process vms one by one to complete the said operation Error Codes ----------- MaintenanceCycleNotEnabled
MaintenanceCycle Feature Not Enabled
MaintenanceCycleOperationFailed
MaintenanceCycle Feature Operation has failed
MaintenanceCycleInvalidDateObject
MaintenanceCycle Feature Operation has failed due to invalid date object
MaintenanceCycleInputMissing
MaintenanceCycle Feature Operation has failed due to a missing input parameter
MaintenanceCyclePreflightCheckFailed
MaintenanceCycle Feature Operation has failed due to a failed pre flight check
MaintenanceCycleDatabaseCompatibilityIssue
MaintenanceCycle Feature Operation has failed due to a database compatibility issue