New-CMSoftwareUpdateAutoPhasedDeployment

Use this cmdlet to create a phased deployment for software updates by generating two phases with same settings.

Syntax

New-CMSoftwareUpdateAutoPhasedDeployment
   [-SoftwareUpdateGroup] <IResultObject>
   [-AddPhases <Phase[]>]
   [-BeginCondition <BeginConditionType>]
   [-CriteriaOption <CriteriaType>]
   [-CriteriaValue <Int32>]
   [-DaysAfterPreviousPhaseSuccess <Int32>]
   [-DeadlineUnit <TimeUnitType>]
   [-DeadlineValue <Int32>]
   [-FirstCollection <IResultObject>]
   [-FirstCollectionId <String>]
   [-FirstCollectionName <String>]
   [-InsertAtOrder <Int32>]
   [-InstallationChoice <InstallationChoiceType>]
   [-SecondCollection <IResultObject>]
   [-SecondCollectionId <String>]
   [-SecondCollectionName <String>]
   [-ThrottlingDays <Int32>]
   [-Description <String>]
   -Name <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMSoftwareUpdateAutoPhasedDeployment
   [-SoftwareUpdateGroupId] <String>
   [-AddPhases <Phase[]>]
   [-BeginCondition <BeginConditionType>]
   [-CriteriaOption <CriteriaType>]
   [-CriteriaValue <Int32>]
   [-DaysAfterPreviousPhaseSuccess <Int32>]
   [-DeadlineUnit <TimeUnitType>]
   [-DeadlineValue <Int32>]
   [-FirstCollection <IResultObject>]
   [-FirstCollectionId <String>]
   [-FirstCollectionName <String>]
   [-InsertAtOrder <Int32>]
   [-InstallationChoice <InstallationChoiceType>]
   [-SecondCollection <IResultObject>]
   [-SecondCollectionId <String>]
   [-SecondCollectionName <String>]
   [-ThrottlingDays <Int32>]
   [-Description <String>]
   -Name <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMSoftwareUpdateAutoPhasedDeployment
   [-SoftwareUpdateGroupName] <String>
   [-AddPhases <Phase[]>]
   [-BeginCondition <BeginConditionType>]
   [-CriteriaOption <CriteriaType>]
   [-CriteriaValue <Int32>]
   [-DaysAfterPreviousPhaseSuccess <Int32>]
   [-DeadlineUnit <TimeUnitType>]
   [-DeadlineValue <Int32>]
   [-FirstCollection <IResultObject>]
   [-FirstCollectionId <String>]
   [-FirstCollectionName <String>]
   [-InsertAtOrder <Int32>]
   [-InstallationChoice <InstallationChoiceType>]
   [-SecondCollection <IResultObject>]
   [-SecondCollectionId <String>]
   [-SecondCollectionName <String>]
   [-ThrottlingDays <Int32>]
   [-Description <String>]
   -Name <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMSoftwareUpdateAutoPhasedDeployment
   [-SoftwareUpdateIds] <String[]>
   [-AddPhases <Phase[]>]
   [-BeginCondition <BeginConditionType>]
   [-CriteriaOption <CriteriaType>]
   [-CriteriaValue <Int32>]
   [-DaysAfterPreviousPhaseSuccess <Int32>]
   [-DeadlineUnit <TimeUnitType>]
   [-DeadlineValue <Int32>]
   [-FirstCollection <IResultObject>]
   [-FirstCollectionId <String>]
   [-FirstCollectionName <String>]
   [-InsertAtOrder <Int32>]
   [-InstallationChoice <InstallationChoiceType>]
   [-SecondCollection <IResultObject>]
   [-SecondCollectionId <String>]
   [-SecondCollectionName <String>]
   [-ThrottlingDays <Int32>]
   [-Description <String>]
   -Name <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMSoftwareUpdateAutoPhasedDeployment
   [-SoftwareUpdateNames] <String[]>
   [-AddPhases <Phase[]>]
   [-BeginCondition <BeginConditionType>]
   [-CriteriaOption <CriteriaType>]
   [-CriteriaValue <Int32>]
   [-DaysAfterPreviousPhaseSuccess <Int32>]
   [-DeadlineUnit <TimeUnitType>]
   [-DeadlineValue <Int32>]
   [-FirstCollection <IResultObject>]
   [-FirstCollectionId <String>]
   [-FirstCollectionName <String>]
   [-InsertAtOrder <Int32>]
   [-InstallationChoice <InstallationChoiceType>]
   [-SecondCollection <IResultObject>]
   [-SecondCollectionId <String>]
   [-SecondCollectionName <String>]
   [-ThrottlingDays <Int32>]
   [-Description <String>]
   -Name <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMSoftwareUpdateAutoPhasedDeployment
   [-SoftwareUpdates] <IResultObject[]>
   [-AddPhases <Phase[]>]
   [-BeginCondition <BeginConditionType>]
   [-CriteriaOption <CriteriaType>]
   [-CriteriaValue <Int32>]
   [-DaysAfterPreviousPhaseSuccess <Int32>]
   [-DeadlineUnit <TimeUnitType>]
   [-DeadlineValue <Int32>]
   [-FirstCollection <IResultObject>]
   [-FirstCollectionId <String>]
   [-FirstCollectionName <String>]
   [-InsertAtOrder <Int32>]
   [-InstallationChoice <InstallationChoiceType>]
   [-SecondCollection <IResultObject>]
   [-SecondCollectionId <String>]
   [-SecondCollectionName <String>]
   [-ThrottlingDays <Int32>]
   [-Description <String>]
   -Name <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Use this cmdlet to create a phased deployment for software updates by generating two phases with same settings. This cmdlet's behavior is the same as the Create Phased Deployment wizard on a software update, when you select the option to Automatically create a default two phase deployment.

Note

Before you create a phased deployment, make sure to distribute the software update content to a distribution point.

Examples

Example 1: Create a deployment by update name

This example creates a new software update phased deployment named myDPName for the software update myUpdateName.

New-CMSoftwareUpdateAutoPhasedDeployment -SoftwareUpdateName "myUpdateName" -Name "myPDName" -FirstCollectionID "SMSDM001" -SecondCollectionID "SMSDM003" -CriteriaOption Compliance -CriteriaValue 1 -BeginCondition AfterPeriod -DaysAfterPreviousPhaseSuccess 2 -ThrottlingDays 3 -InstallationChoice AfterPeriod -DeadlineUnit Hours -DeadlineValue 4 -Description "MyDescription"

Example 2: Create a deployment by input update object

This example creates a new software update phased deployment named myPDName for a piped software update object.

$myUpdate | New-CMSoftwareUpdateAutoPhasedDeployment -Name "myPDName" -FirstCollectionID "SMSDM001" -SecondCollectionID "SMSDM003" -CriteriaOption Compliance -CriteriaValue 1 -BeginCondition AfterPeriod -DaysAfterPreviousPhaseSuccess 2 -ThrottlingDays 3 -InstallationChoice AfterPeriod -DeadlineUnit Hours -DeadlineValue 4 -Description "MyDescription"

Parameters

-AddPhases

This cmdlet automatically creates two phases for the specified two collections. You can also add more phases with this parameter. Specify an array of phases. Use New-CMSoftwareUpdatePhase to create the phases.

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

-BeginCondition

Specify an option for beginning the second phase of deployment after success of the first phase:

  • AfterPeriod: This parameter is the same as the following setting on the Settings page of the Create Phased Deployment wizard in the console: Automatically begin this phase after a deferral period (in days). If you specify this value, use DaysAfterPreviousPhaseSuccess to configure the period of time.

  • Manually: This parameter is the same as the following setting on the Settings page of the Create Phased Deployment wizard in the console: Manually begin the second phase deployment.

Type:BeginConditionType
Accepted values:AfterPeriod, Manually
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

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

-CriteriaOption

Specify an option to choose the criteria for success of the first phase:

  • Compliance: This parameter is the same as the following setting on the Settings page of the Create Phased Deployment wizard in the console: Deployment success percentage. Specify the percentage value with the CriteriaValue parameter.

  • Number: This parameter is the same as the following setting on the Settings page of the Create Phased Deployment wizard in the console: Number of devices successfully deployed. Specify the number of devices with the CriteriaValue parameter.

Type:CriteriaType
Accepted values:Compliance, Number
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CriteriaValue

This integer value depends upon the value that you specify for CriteriaOption:

  • Compliance: Specify the percentage

  • Number: Specify the number of devices

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

-DaysAfterPreviousPhaseSuccess

Specify an integer value for the number of days after success of the first phase to begin the second phase. This parameter is the same as the following setting on the Settings page of the Create Phased Deployment wizard in the console: Automatically begin this phase after a deferral period (in days).

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

-DeadlineUnit

Specify the type of deadline period. Use this parameter with DeadlineValue.

Type:TimeUnitType
Accepted values:Hours, Days, Weeks, Months
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DeadlineValue

This parameter is only used if you specify AfterPeriod with the InstallationChoice parameter.

Specify an integer value for the period of time for the deadline. Use the DeadlineUnit parameter to specify the type of period: Hours, Days, Weeks, Months. This parameter is the same as the following setting on the Settings page of the Create Phased Deployment wizard in the console: Installation is required after this period of time.

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

-Description

Specify a description for the software update phased deployment.

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

-DisableWildcardHandling

This parameter treats wildcard characters as literal character values. You can't combine it with ForceWildcardHandling.

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

-FirstCollection

Specify a collection object for the first phase.

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

-FirstCollectionId

Specify a collection ID for the first phase.

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

-FirstCollectionName

Specify a collection name for the first phase.

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

-ForceWildcardHandling

This parameter processes wildcard characters and may lead to unexpected behavior. It's not recommended. You can't combine it with DisableWildcardHandling.

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

-InsertAtOrder

If you use the AddPhases parameter, use this parameter to determine where in the order of phases to insert the additional phases. Specify an integer with the order number.

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

-InstallationChoice

Specify an option for the behavior relative to when the software is made available:

  • AsSoonAsPossible: This parameter is the same as the following setting on the Settings page of the Create Phased Deployment wizard in the console: Installation is required as soon as possible.

  • AfterPeriod: This parameter is the same as the following setting on the Settings page of the Create Phased Deployment wizard in the console: Installation is required after this period of time. If you specify this value, use DeadlineUnit and DeadlineValue to configure the period of time.

Type:InstallationChoiceType
Accepted values:AsSoonAsPossible, AfterPeriod
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Specify a name for the application phased deployment.

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

-SecondCollection

Specify a collection object for the second phase.

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

-SecondCollectionId

Specify a collection ID for the second phase.

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

-SecondCollectionName

Specify a collection name for the second phase.

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

-SoftwareUpdateGroup

Specify an object for the software update group.

Type:IResultObject
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SoftwareUpdateGroupId

Specify the software update group by ID.

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

-SoftwareUpdateGroupName

Specify the software update group by name.

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

-SoftwareUpdateIds

Specify an array of software update IDs.

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

-SoftwareUpdateNames

Specify an array of software update names.

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

-SoftwareUpdates

Specify an array of software update objects.

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

-ThrottlingDays

Specify an integer value for the number of days to gradually make this software available. This parameter is the same as the following setting on the Settings page of the Create Phased Deployment wizard in the console: Gradually make this software available over this period of time (in days).

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

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet doesn't run.

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

Inputs

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject[]

Outputs

IResultObject