Citrix Virtual Apps and Desktops SDK

Move-ProvVM

Introduced in: Citrix Virtual Apps and Desktop 7 2603

[Experimental Command]

Moves one or more provisioned VMs to a different provisioning scheme.

Syntax

Move-ProvVM
    [-TargetProvisioningSchemeName <String>]
    [-TargetProvisioningSchemeUid <Guid>]
    [-MaintenanceCycleDescription <String>]
    [-AllVMs]
    -ProvisioningSchemeUid <Guid>
    -ScheduledStartTimeInUTC <DateTime>
    [-MaxDurationInMinutes <Int32>]
    [-PurgeDBAfterInDays <Int32>]
    [-SessionWarningTimeInMinutes <Int32>]
    [-SessionWarningLogOffTitle <String>]
    [-SessionWarningLogOffMessage <String>]
    [-LoggingId <Guid>]
    [-SkipCertificateValidation]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Move-ProvVM
    [-TargetProvisioningSchemeName <String>]
    [-TargetProvisioningSchemeUid <Guid>]
    [-MaintenanceCycleDescription <String>]
    -VMName <String[]>
    -ProvisioningSchemeUid <Guid>
    -ScheduledStartTimeInUTC <DateTime>
    [-MaxDurationInMinutes <Int32>]
    [-PurgeDBAfterInDays <Int32>]
    [-SessionWarningTimeInMinutes <Int32>]
    [-SessionWarningLogOffTitle <String>]
    [-SessionWarningLogOffMessage <String>]
    [-LoggingId <Guid>]
    [-SkipCertificateValidation]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Move-ProvVM
    [-TargetProvisioningSchemeName <String>]
    [-TargetProvisioningSchemeUid <Guid>]
    [-MaintenanceCycleDescription <String>]
    [-AllVMs]
    -ProvisioningSchemeUid <Guid>
    [-StartsNow]
    [-MaxDurationInMinutes <Int32>]
    [-PurgeDBAfterInDays <Int32>]
    [-SessionWarningTimeInMinutes <Int32>]
    [-SessionWarningLogOffTitle <String>]
    [-SessionWarningLogOffMessage <String>]
    [-LoggingId <Guid>]
    [-SkipCertificateValidation]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Move-ProvVM
    [-TargetProvisioningSchemeName <String>]
    [-TargetProvisioningSchemeUid <Guid>]
    [-MaintenanceCycleDescription <String>]
    -VMName <String[]>
    -ProvisioningSchemeUid <Guid>
    [-StartsNow]
    [-MaxDurationInMinutes <Int32>]
    [-PurgeDBAfterInDays <Int32>]
    [-SessionWarningTimeInMinutes <Int32>]
    [-SessionWarningLogOffTitle <String>]
    [-SessionWarningLogOffMessage <String>]
    [-LoggingId <Guid>]
    [-SkipCertificateValidation]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Move-ProvVM
    [-TargetProvisioningSchemeName <String>]
    [-TargetProvisioningSchemeUid <Guid>]
    [-MaintenanceCycleDescription <String>]
    [-AllVMs]
    -ProvisioningSchemeName <String>
    -ScheduledStartTimeInUTC <DateTime>
    [-MaxDurationInMinutes <Int32>]
    [-PurgeDBAfterInDays <Int32>]
    [-SessionWarningTimeInMinutes <Int32>]
    [-SessionWarningLogOffTitle <String>]
    [-SessionWarningLogOffMessage <String>]
    [-LoggingId <Guid>]
    [-SkipCertificateValidation]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Move-ProvVM
    [-TargetProvisioningSchemeName <String>]
    [-TargetProvisioningSchemeUid <Guid>]
    [-MaintenanceCycleDescription <String>]
    -VMName <String[]>
    -ProvisioningSchemeName <String>
    -ScheduledStartTimeInUTC <DateTime>
    [-MaxDurationInMinutes <Int32>]
    [-PurgeDBAfterInDays <Int32>]
    [-SessionWarningTimeInMinutes <Int32>]
    [-SessionWarningLogOffTitle <String>]
    [-SessionWarningLogOffMessage <String>]
    [-LoggingId <Guid>]
    [-SkipCertificateValidation]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Move-ProvVM
    [-TargetProvisioningSchemeName <String>]
    [-TargetProvisioningSchemeUid <Guid>]
    [-MaintenanceCycleDescription <String>]
    [-AllVMs]
    -ProvisioningSchemeName <String>
    [-StartsNow]
    [-MaxDurationInMinutes <Int32>]
    [-PurgeDBAfterInDays <Int32>]
    [-SessionWarningTimeInMinutes <Int32>]
    [-SessionWarningLogOffTitle <String>]
    [-SessionWarningLogOffMessage <String>]
    [-LoggingId <Guid>]
    [-SkipCertificateValidation]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Move-ProvVM
    [-TargetProvisioningSchemeName <String>]
    [-TargetProvisioningSchemeUid <Guid>]
    [-MaintenanceCycleDescription <String>]
    -VMName <String[]>
    -ProvisioningSchemeName <String>
    [-StartsNow]
    [-MaxDurationInMinutes <Int32>]
    [-PurgeDBAfterInDays <Int32>]
    [-SessionWarningTimeInMinutes <Int32>]
    [-SessionWarningLogOffTitle <String>]
    [-SessionWarningLogOffMessage <String>]
    [-LoggingId <Guid>]
    [-SkipCertificateValidation]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->

Description

Moves specified provisioned virtual machines (VMs) from a source provisioning scheme to a target provisioning scheme. This cmdlet supports moving VMs by specifying scheme names or UIDs.

Examples

EXAMPLE 1

Moves VMs “VM01” and “VM02” from “SourceScheme” to “TargetScheme”.

Move-ProvVM -SourceProvisioningSchemeName "SourceScheme" -VMName "VM01","VM02" -TargetProvisioningSchemeName "TargetScheme"
<!--NeedCopy-->

EXAMPLE 2

Moves VMs from “SourceScheme” to “TargetScheme” using pipeline input.

Get-ProvVM -ProvisioningSchemeName "SourceScheme" | Move-ProvVM -TargetProvisioningSchemeName "TargetScheme"
<!--NeedCopy-->

EXAMPLE 3

Moves “VM03” using scheme UIDs and runs the operation asynchronously.

Move-ProvVM -SourceProvisioningSchemeUid "11111111-2222-3333-4444-555555555555" -VMName "VM03" -TargetProvisioningSchemeUid "66666666-7777-8888-9999-000000000000" -RunAsynchronously
<!--NeedCopy-->

Parameters

-VMName

The names of the VMs to be moved.

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

-ProvisioningSchemeUid

The unique identifier (GUID) of the source provisioning scheme.

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

-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

The name of the source provisioning scheme containing the VMs to move.

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

If specified, applies the move operation to all VMs in the source provisioning scheme.

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

-TargetProvisioningSchemeName

The name of the target provisioning scheme to move the VMs into.

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

-TargetProvisioningSchemeUid

The unique identifier (GUID) of the target provisioning scheme to move the VM(s) into.

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

-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

-MaxDurationInMinutes

Indicates the total allocated duration in minutes to the maintenance cycle

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

-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

-SkipCertificateValidation

Forces the cmdlet to skip checking SSL certificates. By default, the cmdlet will check the certificate from the server. If the certificate is not valid, the cmdlet will not connect to the server.

Type: SwitchParameter
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

In the case of failure, the following errors can result.

Error Codes


VMNotFound One or more specified VMs could not be found in the source provisioning scheme.

InvalidProvisioningScheme The source or target provisioning scheme is not valid.

PermissionDenied The user does not have administrative rights to perform this operation.

MoveOperationFailed The move operation failed due to an internal error.

DatabaseError An error occurred in the service while attempting a database operation.

MoveVMsNotAllowedByHypervisor The move operation is not supported for this Hypervisor.

MoveVMsValidationFailed The move operation failed validation.

MoveVMsNotSupportedForPVSCatalog The move operation failed is not supported for a PVS catalog.

MoveVMsNotSupportedForDifferentIdentityPoolTypes The move operation is not supported for provisioning schemes with different identity pool types.

MoveVMsNotSupportedForDataDisk The move operation is not supported for provisioning scheme with data disk.

MoveVMsNotSupportedForDedicatedProvisioningScheme The move operation is not supported for Dedicated provisioning scheme.

MoveVMsNotSupportedForDifferentTenancyTypes The move operation is not supported for provisioning schemes with different tenancy type.

MoveVMsNotSupportedForNonPersistentProvisioningScheme The move operation is not supported for non-persistent provisioning schemes.

MoveVMsNotSupportedForDifferentHostingUnit The move operation is not supported for provisioning schemes with different hosting units.

CommunicationError An error occurred while communicating with the service.

ExceptionThrown An unexpected error occurred. For more details, check the Windows event logs on your self-hosted delivery controller or contact Citrix support if using Citrix DaaS (Citrix-hosted delivery controller).

Move-ProvVM