Set-CMTaskSequenceDeployment

Set-CMTaskSequenceDeployment

Creates a task sequence deployment in Configuration Manager.

Syntax

Parameter Set: SetTaskSequenceDeploymentByDeploymentIdMandatory
Set-CMTaskSequenceDeployment -AllowUseRemoteDistributionPoint <Boolean> -DeploymentOption <DeploymentOptionType> {DownloadAllContentLocallyBeforeStartingTaskSequence | DownloadContentLocallyWhenNeededByRunningTaskSequence} -TaskSequenceDeploymentId <String> [-AlertDay <DateTime> ] [-AlertTime <DateTime> ] [-AllowFallback <Boolean> ] [-AllowUsersRunIndependently <Boolean> ] [-Comment <String> ] [-CreateAlertBaseOnPercentFailure <Boolean> ] [-CreateAlertBaseOnPercentSuccess <Boolean> ] [-DeploymentAvailableDay <DateTime> ] [-DeploymentAvailableTime <DateTime> ] [-DeploymentExpireDay <DateTime> ] [-DeploymentExpireTime <DateTime> ] [-InternetOption <Boolean> ] [-MakeAvailableTo <MakeAvailableToType> ] [-PercentFailure <Int32> ] [-PercentSuccess <Int32> ] [-PersistOnWriteFilterDevice <Boolean> ] [-RerunBehavior <RerunBehaviorType> {AlwaysRerunProgram | NeverRerunDeployedProgram | RerunIfFailedPreviousAttempt | RerunIfSucceededOnPreviousAttempt} ] [-Schedule <IResultObject[]> ] [-ScheduleEvent {AsSoonAsPossible | LogOff | LogOn}[] ] [-SendWakeUpPacket <Boolean> ] [-ShowTaskSequenceProgress <Boolean> ] [-SoftwareInstallation <Boolean> ] [-SystemRestart <Boolean> ] [-UseMeteredNetwork <Boolean> ] [-UseUtcForAvailableSchedule <Boolean> ] [-UseUtcForExpireSchedule <Boolean> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SetTaskSequenceDeploymentByIdMandatory
Set-CMTaskSequenceDeployment -AllowUseRemoteDistributionPoint <Boolean> -CollectionName <String> -DeploymentOption <DeploymentOptionType> {DownloadAllContentLocallyBeforeStartingTaskSequence | DownloadContentLocallyWhenNeededByRunningTaskSequence} -TaskSequencePackageId <String> [-AlertDay <DateTime> ] [-AlertTime <DateTime> ] [-AllowFallback <Boolean> ] [-AllowUsersRunIndependently <Boolean> ] [-Comment <String> ] [-CreateAlertBaseOnPercentFailure <Boolean> ] [-CreateAlertBaseOnPercentSuccess <Boolean> ] [-DeploymentAvailableDay <DateTime> ] [-DeploymentAvailableTime <DateTime> ] [-DeploymentExpireDay <DateTime> ] [-DeploymentExpireTime <DateTime> ] [-InternetOption <Boolean> ] [-MakeAvailableTo <MakeAvailableToType> ] [-PercentFailure <Int32> ] [-PercentSuccess <Int32> ] [-PersistOnWriteFilterDevice <Boolean> ] [-RerunBehavior <RerunBehaviorType> {AlwaysRerunProgram | NeverRerunDeployedProgram | RerunIfFailedPreviousAttempt | RerunIfSucceededOnPreviousAttempt} ] [-Schedule <IResultObject[]> ] [-ScheduleEvent {AsSoonAsPossible | LogOff | LogOn}[] ] [-SendWakeUpPacket <Boolean> ] [-ShowTaskSequenceProgress <Boolean> ] [-SoftwareInstallation <Boolean> ] [-SystemRestart <Boolean> ] [-UseMeteredNetwork <Boolean> ] [-UseUtcForAvailableSchedule <Boolean> ] [-UseUtcForExpireSchedule <Boolean> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SetTaskSequenceDeploymentByNameMandatory
Set-CMTaskSequenceDeployment -AllowUseRemoteDistributionPoint <Boolean> -CollectionName <String> -DeploymentOption <DeploymentOptionType> {DownloadAllContentLocallyBeforeStartingTaskSequence | DownloadContentLocallyWhenNeededByRunningTaskSequence} -TaskSequenceName <String> [-AlertDay <DateTime> ] [-AlertTime <DateTime> ] [-AllowFallback <Boolean> ] [-AllowUsersRunIndependently <Boolean> ] [-Comment <String> ] [-CreateAlertBaseOnPercentFailure <Boolean> ] [-CreateAlertBaseOnPercentSuccess <Boolean> ] [-DeploymentAvailableDay <DateTime> ] [-DeploymentAvailableTime <DateTime> ] [-DeploymentExpireDay <DateTime> ] [-DeploymentExpireTime <DateTime> ] [-InternetOption <Boolean> ] [-MakeAvailableTo <MakeAvailableToType> ] [-PercentFailure <Int32> ] [-PercentSuccess <Int32> ] [-PersistOnWriteFilterDevice <Boolean> ] [-RerunBehavior <RerunBehaviorType> {AlwaysRerunProgram | NeverRerunDeployedProgram | RerunIfFailedPreviousAttempt | RerunIfSucceededOnPreviousAttempt} ] [-Schedule <IResultObject[]> ] [-ScheduleEvent {AsSoonAsPossible | LogOff | LogOn}[] ] [-SendWakeUpPacket <Boolean> ] [-ShowTaskSequenceProgress <Boolean> ] [-SoftwareInstallation <Boolean> ] [-SystemRestart <Boolean> ] [-UseMeteredNetwork <Boolean> ] [-UseUtcForAvailableSchedule <Boolean> ] [-UseUtcForExpireSchedule <Boolean> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SetTaskSequenceDeploymentByValueMandatory
Set-CMTaskSequenceDeployment -AllowUseRemoteDistributionPoint <Boolean> -CollectionName <String> -DeploymentOption <DeploymentOptionType> {DownloadAllContentLocallyBeforeStartingTaskSequence | DownloadContentLocallyWhenNeededByRunningTaskSequence} -TaskSequence <IResultObject> [-AlertDay <DateTime> ] [-AlertTime <DateTime> ] [-AllowFallback <Boolean> ] [-AllowUsersRunIndependently <Boolean> ] [-Comment <String> ] [-CreateAlertBaseOnPercentFailure <Boolean> ] [-CreateAlertBaseOnPercentSuccess <Boolean> ] [-DeploymentAvailableDay <DateTime> ] [-DeploymentAvailableTime <DateTime> ] [-DeploymentExpireDay <DateTime> ] [-DeploymentExpireTime <DateTime> ] [-InternetOption <Boolean> ] [-MakeAvailableTo <MakeAvailableToType> ] [-PercentFailure <Int32> ] [-PercentSuccess <Int32> ] [-PersistOnWriteFilterDevice <Boolean> ] [-RerunBehavior <RerunBehaviorType> {AlwaysRerunProgram | NeverRerunDeployedProgram | RerunIfFailedPreviousAttempt | RerunIfSucceededOnPreviousAttempt} ] [-Schedule <IResultObject[]> ] [-ScheduleEvent {AsSoonAsPossible | LogOff | LogOn}[] ] [-SendWakeUpPacket <Boolean> ] [-ShowTaskSequenceProgress <Boolean> ] [-SoftwareInstallation <Boolean> ] [-SystemRestart <Boolean> ] [-UseMeteredNetwork <Boolean> ] [-UseUtcForAvailableSchedule <Boolean> ] [-UseUtcForExpireSchedule <Boolean> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Set-CMTaskSequenceDeployment cmdlet creates a task sequence deployment. A task sequence deployment assigns a task sequence to a collection of computers.

Parameters

-AlertDay<DateTime>

Specifies a day, in MM/DD/YYYY format, to trigger alerts. If you configure a percent success or failure rate for a deployment, alerts appear after this date.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-AlertTime<DateTime>

Specifies a time, in HH:MM format, to trigger alerts. If you configure a percent success or failure rate for a deployment, alerts appear after this time.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-AllowFallback<Boolean>

Indicates whether to allow clients to use a fallback source location for content.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-AllowUseRemoteDistributionPoint<Boolean>

Indicates whether to allow the use of a remote distribution point.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-AllowUsersRunIndependently<Boolean>

Indicates whether to allow users to independently run the program, regardless of its assignment status.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-CollectionName<String>

Specifies a name of a collection designated to receive a task sequence deployment. A collection is a group of client computers.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Comment<String>

Specifies a comment for the task sequence deployment.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-CreateAlertBaseOnPercentFailure<Boolean>

Indicates whether to create an alert, depending on the percentage of an installation that fails. If you specify a percent failure for installations, Configuration Manager raises an alert in the console when deployment fails on that percentage of installations. Use this parameter in conjunction with the PercentFailure parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-CreateAlertBaseOnPercentSuccess<Boolean>

Indicates whether to create an alert, depending on the percentage of an installation that succeeds. If you specify a percent success for installations, Configuration Manager raises an alert in the console when the deployment succeeds on that percentage of installations. Use this parameter in conjunction with the PercentSuccess parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DeploymentAvailableDay<DateTime>

Specifies a day, in MM/DD/YYYY format, when a deployment becomes available to clients. By default, the deployment becomes available immediately.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DeploymentAvailableTime<DateTime>

Specifies a time, in HH:MM format, when a deployment becomes available to clients. By default, the deployment becomes available immediately.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DeploymentExpireDay<DateTime>

Specifies a day, in MM/DD/YYYY format, when a deployment expires. By default, a deployment never expires. To expire a deployment on a certain day, set this parameter. You may use this parameter in conjunction with the DeploymentExpireTime parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DeploymentExpireTime<DateTime>

Specifies a time, in HH:MM format, when the deployment expires. By default, a deployment never expires. To expire a deployment at a certain time, set this parameter. You may use this parameter in conjunction with the DeploymentExpireDay parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DeploymentOption<DeploymentOptionType>

Specifies if clients download all content before starting the task sequence, or download content as needed by the running task sequence. By default, clients download content as needed. The acceptable values for this parameter are:

-- DownloadAllContentLocallyBeforeStartingTaskSequence
-- DownloadContentLocallyWhenNeededByRunningTaskSequence

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-InternetOption<Boolean>

Indicates whether the task sequence runs on clients connecting over the Internet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-MakeAvailableTo<MakeAvailableToType>

Specifies whether to make this task sequence available to Configuration Manager clients, and whether to make it available when you deploy an operating system by using boot media, prestaged media, or PXE. The acceptable values for this parameter are:

-- Clients
-- ClientsMediaAndPxe
-- MediaAndPxe
-- MediaAndPxeHidden

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-PercentFailure<Int32>

Specifies a threshold percentage for failed task sequence deployment.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-PercentSuccess<Int32>

Specifies a threshold percentage for successful task sequence deployment.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-PersistOnWriteFilterDevice<Boolean>

Indicates whether to install a task sequence on the temporary overlay and commit changes later, or commit the changes at an installation deadline or a maintenance window.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-RerunBehavior<RerunBehaviorType>

Specifies that a task sequence will be rerun on a computer if it has previously been run before the scheduled mandatory time. By default, the task sequence is always rerun. The acceptable values for this parameter are:

-- AlwaysRerunProgram
-- NeverRerunDeployedProgram
-- RerunIfFailedPreviousAttempt
-- RerunIfSucceededOnPreviousAttempt

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Schedule<IResultObject[]>

Specifies an array of CMSchedule objects. A CMSchedule object defines the mandatory assignment schedule for a deployment. To create a CMSchedule object, use the New-CMSchedule cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ScheduleEvent<ScheduleEventType[]>

Specifies an array of events that determine when the task sequence deployment runs. The acceptable values for this parameter are:

-- AsSoonAsPossible
-- LogOff
-- LogOn

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SendWakeUpPacket<Boolean>

Indicates whether to send a wake up packet to computers before the deployment begins. If this value is $True, Configuration Manager wakes a computer from sleep. If this value is $False, it does not wake computers from sleep. For computers to wake, you must first configure Wake On LAN.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ShowTaskSequenceProgress<Boolean>

Indicates whether to show a process dialog for a task sequence.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SoftwareInstallation<Boolean>

Indicates whether to allow the application to install, even if the installation occurs outside of a maintenance window.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SystemRestart<Boolean>

Indicates whether to allow an advertised program to restart the system, even if the restart occurs outside of a maintenance window.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-TaskSequence<IResultObject>

Specifies a task sequence object. To obtain a task sequence object, use the Get-CMTaskSequence cmdlet.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-TaskSequenceDeploymentId<String>

Specifies an ID for a task sequence deployment.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-TaskSequenceName<String>

Specifies a name for a task sequence.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-TaskSequencePackageId<String>

Specifies an ID for a task sequence package.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-UseMeteredNetwork<Boolean>

Indicates whether to allow clients on a metered Internet connection to download content after the installation deadline, which might incur additional costs.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-UseUtcForAvailableSchedule<Boolean>

Indicates whether client computers use UTC time to determine the availability of a program. UTC time makes the task sequence available at the same time for all computers.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-UseUtcForExpireSchedule<Boolean>

Indicates whether client computers use UTC time to determine the expiration of a program. UTC time makes the task sequence available at the same time for all computers.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

Examples

Example 1: Create a task sequence deployment

This command creates the task sequence deployment by using the task sequence name and collection name.

PS C:\> Set-CMTaskSequenceDeployment -TaskSequenceName "Task Sequence 1333" -CollectionName "All Systems" -Comment "Task sequence test" -ShowTaskSequenceProgress $True

Example 2: Create a task sequence deployment with a task sequence name

This command creates the task sequence deployment by using the task sequence name and collection name.

PS C:\> Set-CMTaskSequenceDeployment -TaskSequenceName "Task Sequence 1333" -CollectionName "All Desktop and Server Clients" -Comment "Task sequence test" -SendWakeUpPacket $True -UseMeteredNetwork $True -DeploymentExpireDay 2014/12/30 -DeploymentExpireTime 15:52 -UseUtcForExpireSchedule $True -ScheduleEvent LogOff -RerunBehavior NeverRerunDeployedProgram -AllowUsersRunIndependently $True -ShowTaskSequenceProgress $False -SoftwareInstallation $True -SystemRestart $True -PersistOnWriteFilterDevice $False -InternetOption $True -DeploymentOption DownloadAllContentLocallyBeforeStartingTaskSequence -AllowFallback $True -AllowSharedContent $True -CreatAlertBaseOnPercentSuccess $True -CreatAlertBaseOnPercentFailure $True 

Start-CMTaskSequenceDeployment

New-CMSchedule

Get-CMTaskSequence