New-ProvVMBackupSchedule
Creates a new virtual machines backup schedule
Syntax
New-ProvVMBackupSchedule
[-MaxNumberOfBackups <Int32>]
[-UserVisible <Boolean>]
[-DoNotShutdownMachines]
-ProvisioningScheduleName <String>
-RecurringSchedule <String>
[-ScheduleDescription <String>]
[-AllVMs]
-ProvisioningSchemeUid <Guid>
-ScheduledStartTimeInUTC <DateTime>
[-MaxDurationInMinutes <Int32>]
[-PurgeDBAfterInDays <Int32>]
[-SessionWarningTimeInMinutes <Int32>]
[-SessionWarningLogOffTitle <String>]
[-SessionWarningLogOffMessage <String>]
[-LoggingId <Guid>]
[<CitrixCommonParameters>]
[<CommonParameters>]
New-ProvVMBackupSchedule
[-MaxNumberOfBackups <Int32>]
[-UserVisible <Boolean>]
[-DoNotShutdownMachines]
-ProvisioningScheduleName <String>
-RecurringSchedule <String>
[-ScheduleDescription <String>]
-VMName <String[]>
-ProvisioningSchemeUid <Guid>
-ScheduledStartTimeInUTC <DateTime>
[-MaxDurationInMinutes <Int32>]
[-PurgeDBAfterInDays <Int32>]
[-SessionWarningTimeInMinutes <Int32>]
[-SessionWarningLogOffTitle <String>]
[-SessionWarningLogOffMessage <String>]
[-LoggingId <Guid>]
[<CitrixCommonParameters>]
[<CommonParameters>]
New-ProvVMBackupSchedule
[-MaxNumberOfBackups <Int32>]
[-UserVisible <Boolean>]
[-DoNotShutdownMachines]
-ProvisioningScheduleName <String>
-RecurringSchedule <String>
[-ScheduleDescription <String>]
[-AllVMs]
-ProvisioningSchemeUid <Guid>
[-StartsNow]
[-MaxDurationInMinutes <Int32>]
[-PurgeDBAfterInDays <Int32>]
[-SessionWarningTimeInMinutes <Int32>]
[-SessionWarningLogOffTitle <String>]
[-SessionWarningLogOffMessage <String>]
[-LoggingId <Guid>]
[<CitrixCommonParameters>]
[<CommonParameters>]
New-ProvVMBackupSchedule
[-MaxNumberOfBackups <Int32>]
[-UserVisible <Boolean>]
[-DoNotShutdownMachines]
-ProvisioningScheduleName <String>
-RecurringSchedule <String>
[-ScheduleDescription <String>]
-VMName <String[]>
-ProvisioningSchemeUid <Guid>
[-StartsNow]
[-MaxDurationInMinutes <Int32>]
[-PurgeDBAfterInDays <Int32>]
[-SessionWarningTimeInMinutes <Int32>]
[-SessionWarningLogOffTitle <String>]
[-SessionWarningLogOffMessage <String>]
[-LoggingId <Guid>]
[<CitrixCommonParameters>]
[<CommonParameters>]
New-ProvVMBackupSchedule
[-MaxNumberOfBackups <Int32>]
[-UserVisible <Boolean>]
[-DoNotShutdownMachines]
-ProvisioningScheduleName <String>
-RecurringSchedule <String>
[-ScheduleDescription <String>]
[-AllVMs]
-ProvisioningSchemeName <String>
-ScheduledStartTimeInUTC <DateTime>
[-MaxDurationInMinutes <Int32>]
[-PurgeDBAfterInDays <Int32>]
[-SessionWarningTimeInMinutes <Int32>]
[-SessionWarningLogOffTitle <String>]
[-SessionWarningLogOffMessage <String>]
[-LoggingId <Guid>]
[<CitrixCommonParameters>]
[<CommonParameters>]
New-ProvVMBackupSchedule
[-MaxNumberOfBackups <Int32>]
[-UserVisible <Boolean>]
[-DoNotShutdownMachines]
-ProvisioningScheduleName <String>
-RecurringSchedule <String>
[-ScheduleDescription <String>]
-VMName <String[]>
-ProvisioningSchemeName <String>
-ScheduledStartTimeInUTC <DateTime>
[-MaxDurationInMinutes <Int32>]
[-PurgeDBAfterInDays <Int32>]
[-SessionWarningTimeInMinutes <Int32>]
[-SessionWarningLogOffTitle <String>]
[-SessionWarningLogOffMessage <String>]
[-LoggingId <Guid>]
[<CitrixCommonParameters>]
[<CommonParameters>]
New-ProvVMBackupSchedule
[-MaxNumberOfBackups <Int32>]
[-UserVisible <Boolean>]
[-DoNotShutdownMachines]
-ProvisioningScheduleName <String>
-RecurringSchedule <String>
[-ScheduleDescription <String>]
[-AllVMs]
-ProvisioningSchemeName <String>
[-StartsNow]
[-MaxDurationInMinutes <Int32>]
[-PurgeDBAfterInDays <Int32>]
[-SessionWarningTimeInMinutes <Int32>]
[-SessionWarningLogOffTitle <String>]
[-SessionWarningLogOffMessage <String>]
[-LoggingId <Guid>]
[<CitrixCommonParameters>]
[<CommonParameters>]
New-ProvVMBackupSchedule
[-MaxNumberOfBackups <Int32>]
[-UserVisible <Boolean>]
[-DoNotShutdownMachines]
-ProvisioningScheduleName <String>
-RecurringSchedule <String>
[-ScheduleDescription <String>]
-VMName <String[]>
-ProvisioningSchemeName <String>
[-StartsNow]
[-MaxDurationInMinutes <Int32>]
[-PurgeDBAfterInDays <Int32>]
[-SessionWarningTimeInMinutes <Int32>]
[-SessionWarningLogOffTitle <String>]
[-SessionWarningLogOffMessage <String>]
[-LoggingId <Guid>]
[<CitrixCommonParameters>]
[<CommonParameters>]
Description
Creates a new Schedule for Backing up virtual machines in a provisioning scheme via maintenance cycles
Examples
EXAMPLE 1
Creates backup schedule for all machines in provisioning starting in 15 minutes, 6AM every week day. Schedule will keep maximum of 3 backups.
$dateObj = (Get-Date).AddMinutes(15)
New-ProvVMBackupSchedule -ProvisioningScheduleName MySchedule -ProvisioningSchemeName MCSCatalog -AllVMs -ScheduledStartTimeInUTC $dateObj -UserVisible $false -MaxAllocatedDurationInMinutes 40 -SessionWarningInMinutes 5 -SessionWarningLogOffMessage "PLEASE SAVE SESSION BEFORE MACHINE IS TURNED OFF" -PurgeMaintenanceCycleInfoAfterInDays 1 -RecurringSchedule "0 6 * * 1-5" -ScheduleDescription "Backing Up VMs" -MaxNumberOfBackups 3
Parameters
-ProvisioningScheduleName
A Unique name provided for the provisioning schedule
| Type: | String |
| Position: | Named |
| Default value: | None |
| Required: | True |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-RecurringSchedule
Indicates how frequently the operation needs to be run. Specified in cron syntax.
| Type: | String |
| Position: | Named |
| Default value: | None |
| 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 |
-ProvisioningSchemeUid
The Uid of the Provisioning scheme to be associated with the provisioning schedule
| Type: | Guid |
| Position: | Named |
| Default value: | None |
| Required: | True |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-ScheduledStartTimeInUTC
Indicates the start time for the provisioning schedule
| Type: | DateTime |
| Position: | Named |
| Default value: | None |
| Required: | True |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-ProvisioningSchemeName
The name of the Provisioning scheme to be associated with the provisioning schedule
| Type: | String |
| Position: | Named |
| Default value: | None |
| Required: | True |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-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 |
-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 |
-MaxNumberOfBackups
The maximum number of backups that can exist, per virtual machine as part of the provisioning schedule
| Type: | Int32 |
| Position: | Named |
| Default value: | None |
| Required: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-UserVisible
Sets whether the backups taken by this schedule are visible to users. Default value is true.
| Type: | Boolean |
| Position: | Named |
| Default value: | None |
| Required: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-DoNotShutdownMachines
Indicates if a backup will be taken on virtual machines without shutting them down first.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Required: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-ScheduleDescription
A brief overview of the provisioning schedule
| Type: | String |
| Position: | Named |
| Default value: | None |
| Required: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-MaxDurationInMinutes
Indicates the total allocated duration in minutes to the provisioning schedule
| Type: | Int32 |
| Position: | Named |
| Default value: | 30 |
| Required: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-PurgeDBAfterInDays
The duration of time in days for mcs to wait before purging relevant info from the database upon completion
| 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 data 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 |
-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 |
-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
None
You can't pipe objects to this cmdlet.
Outputs
None
By default, this cmdlet returns no output.
Notes
The cmdlet is expected to create a schedule which would inherently create new maintenance cycles at respective intervals to perform backup 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 preflight check
MaintenanceCycleDatabaseCompatibilityIssue
MaintenanceCycle Feature Operation has failed due to a database compatibility issue
Cron syntax for RecurringSchedule contains 5 elements:
-
minute in the range 0-59.
-
hour in the range 0-23
-
day of month range 1-31
-
month range 1-12
-
day of week range 0-6 (0=Sunday to 6=Saturday)
With asterisk (*) meaning 'every'. For example: "* * * * *" would mean every minute of every hour of every day. Asterisk (*) is not allowed for minute, and discouraged for hour element. With minus (-) as range separator. For example 1-5 for day of week would mean Monday through Friday. eg: "0 6 * 1-5 *" would mean 6AM every Monday through Friday. With comma (,) as list separator. For example 1,15 for day of month would mean 1st and 15th of each month. eg: "0 6 1,15 * *" would mean 6AM on 1st and 15th of evety month.
For example:
-
Run every 12 hours (midnight and noon), 15 minutes pass the hour, every Mon, Wed, Fri: "15 0/12 * * 1,3,5"
-
Run every at 3:00am on 1st and 15th of every month: "0 3 1,15 * *"