Switch-ProvTask

Last published : Oct 31, 2026
Moves all Machine Creation Service tasks from the current execution host to another.

Syntax

Switch-ProvTask
      [-Host2] <String>
      [-LoggingId <Guid>]
      [<CitrixCommonParameters>]
      [<CommonParameters>]

Description

Enables tasks running within the Machine Creation Service to be moved from one execution host to a different host.
Tasks can only execute on a single host. If the host is removed from a deployment, the tasks cannot continue to execute. These 'orphaned' tasks can be moved to a different host within the deployment so that they can continue to execute. All tasks must be moved. There is no mechanism to move individual tasks.
Run the Switch-ProvTask command against the host to which the tasks are to be moved. If you are not running the command directly on the host, use the AdminAddress parameter to specify the host to which tasks will be moved.

Examples

EXAMPLE 1

Transfer the execution of tasks that had been executing on the Machine Creation Service instance on host CRASHED to the local instance.
Switch-ProvTask -Host CRASHED
Success

Parameters

-Host2

Specifies the host from which the tasks should be removed.
Type: String
Aliases: Host
Position: 2
Default value: None
Required: True
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

If the command fails, the following errors can result.
Error Codes
PartialData
Only a subset of the requested data was returned.
NoOp
The operation was successful but had no effect.
DatabaseError
An error occurred in the service while attempting a database operation.
DatabaseNotConfigured
The operation could not be completed because the database for the service is not configured.
DataStoreException
An error occurred in the service while attempting a database operation - communication with the database failed for various reasons.
PermissionDenied
You do not have permission to execute this command.
AuthorizationError
There was a problem communicating with the Citrix Delegated Administration Service.
ConfigurationLoggingError
The operation could not be performed because of a configuration logging error.
CommunicationError
There was a problem communicating with the remote service.
ExceptionThrown
An unexpected error occurred. For more details, see the Windows event logs
on the controller or the Citrix Virtual Apps and Desktops logs.