Add-CMTaskSequenceDeploymentType

Create a task sequence as an app model deployment type.

Syntax

Add-CMTaskSequenceDeploymentType
   -ApplicationName <String>
   [-DeploymentTypeName <String>]
   [-EstimatedRuntimeMins <Int32>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   -InstallTaskSequenceId <String>
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-ProductCode <String>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RequireUserInteraction]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallTaskSequenceId <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMTaskSequenceDeploymentType
   -AddDetectionClause <DetectionClause[]>
   -ApplicationId <Int32>
   -DeploymentTypeName <String>
   [-DetectionClauseConnector <Hashtable[]>]
   [-EstimatedRuntimeMins <Int32>]
   [-GroupDetectionClauses <String[]>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   -InstallTaskSequenceId <String>
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RequireUserInteraction]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallTaskSequenceId <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMTaskSequenceDeploymentType
   -AddDetectionClause <DetectionClause[]>
   -ApplicationName <String>
   -DeploymentTypeName <String>
   [-DetectionClauseConnector <Hashtable[]>]
   [-EstimatedRuntimeMins <Int32>]
   [-GroupDetectionClauses <String[]>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   -InstallTaskSequenceId <String>
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RequireUserInteraction]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallTaskSequenceId <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMTaskSequenceDeploymentType
   -AddDetectionClause <DetectionClause[]>
   -DeploymentTypeName <String>
   [-DetectionClauseConnector <Hashtable[]>]
   [-EstimatedRuntimeMins <Int32>]
   [-GroupDetectionClauses <String[]>]
   -InputObject <IResultObject>
   [-InstallationBehaviorType <InstallationBehaviorType>]
   -InstallTaskSequenceId <String>
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RequireUserInteraction]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallTaskSequenceId <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMTaskSequenceDeploymentType
   -ApplicationId <Int32>
   -DeploymentTypeName <String>
   [-EstimatedRuntimeMins <Int32>]
   [-ForceScriptDetection32Bit]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   -InstallTaskSequenceId <String>
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RequireUserInteraction]
   [-ScriptFile <String>]
   -ScriptLanguage <ScriptLanguage>
   [-ScriptText <String>]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallTaskSequenceId <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMTaskSequenceDeploymentType
   -ApplicationId <Int32>
   [-DeploymentTypeName <String>]
   [-EstimatedRuntimeMins <Int32>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   -InstallTaskSequenceId <String>
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-ProductCode <String>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RequireUserInteraction]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallTaskSequenceId <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMTaskSequenceDeploymentType
   -ApplicationName <String>
   -DeploymentTypeName <String>
   [-EstimatedRuntimeMins <Int32>]
   [-ForceScriptDetection32Bit]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   -InstallTaskSequenceId <String>
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RequireUserInteraction]
   [-ScriptFile <String>]
   -ScriptLanguage <ScriptLanguage>
   [-ScriptText <String>]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallTaskSequenceId <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMTaskSequenceDeploymentType
   -DeploymentTypeName <String>
   [-EstimatedRuntimeMins <Int32>]
   [-ForceScriptDetection32Bit]
   -InputObject <IResultObject>
   [-InstallationBehaviorType <InstallationBehaviorType>]
   -InstallTaskSequenceId <String>
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RequireUserInteraction]
   [-ScriptFile <String>]
   -ScriptLanguage <ScriptLanguage>
   [-ScriptText <String>]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallTaskSequenceId <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMTaskSequenceDeploymentType
   [-DeploymentTypeName <String>]
   [-EstimatedRuntimeMins <Int32>]
   -InputObject <IResultObject>
   [-InstallationBehaviorType <InstallationBehaviorType>]
   -InstallTaskSequenceId <String>
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-ProductCode <String>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RequireUserInteraction]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallTaskSequenceId <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Applies to version 2006 and later. Create a task sequence as an app model deployment type. For more information, see Task sequence deployment type.

This cmdlet has similar syntax as the MSI deployment type cmdlet Add-CMMsiDeploymentType. The primary differences are the following parameters:

  • -InstallTaskSequenceId <string> (required): the ID of the task sequence to install the app

  • -UninstallTaskSequenceId <string> (optional): the ID of the task sequence to uninstall the app

These two parameters relate to the deployment type task sequence options. They replace the -InstallCommand and -UninstallCommand parameters on the MSI cmdlet.

Examples

Example 1: Add a task sequence deployment type

This example adds the task sequence ID ABC001EB to the app CBI. It also adds the uninstall task sequence ID ABC00378.

Add-CMTaskSequenceDeploymentType -ApplicationName "CBI" -DeploymentTypeName "Complex install" -Comment "New Deployment Type" -InstallTaskSequenceId "ABC001EB" -UninstallTaskSequenceId "ABC00378" -ScriptLanguage "PowerShell" -ScriptText "dir"

Parameters

-AddDetectionClause

Specify an array of detection method clauses for this deployment type. To create a detection clause, use one of the following cmdlets:

Save the output of these cmdlets into a variable. Then specify those variables as an array for this parameter. For example, -AddDetectionClause $clauseFile1,$clauseFile2,$clauseFile3.

You can also use Get-CMDeploymentTypeDetectionClause to get an existing detection clause from another application.

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

-AddLanguage

Specify an array of language tags that the deployment type supports. For example, to add Russian (Russia), specify the tag ru-RU.

For more information and a list of language tags, see Windows Language Code Identifier (LCID) Reference.

Type:String[]
Aliases:AddLanguages, Languages, Language
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AddRequirement

-ApplicationId

Specify the ID of the application for this deployment type.

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

-ApplicationName

Specify the name of the application for this deployment type.

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

-Comment

Specify an optional description for the deployment type.

Type:String
Aliases:AdministratorComment
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

-DeploymentTypeName

Specify a display name for this deployment type.

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

-DetectionClauseConnector

When you use the GroupDetectionClauses parameter to group detection clauses, use this parameter to specify the connector.

The following example defines the OR connector: @{"LogicalName"=$clauseFile3.Setting.LogicalName;"Connector"="OR"}

Type:Hashtable[]
Aliases:DetectionClauseConnectors
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

-EstimatedRuntimeMins

Specify the estimated installation time, in minutes, of this deployment type for the application. Software Center displays this estimate to the user before the application installs.

Type:Int32
Aliases:EstimatedInstallationTimeMinutes, EstimatedInstallationTimeMins, EstimatedRunTimeMinutes
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Forces the command to run without asking for user confirmation.

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

-ForceScriptDetection32Bit

If you use a custom script to detect the presence of this deployment type, set this parameter to $true to run the script as a 32-bit process on 64-bit clients.

Type:SwitchParameter
Aliases:Force32BitDetectionScript
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 (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

-GroupDetectionClauses

When you configure rules to detect the presence of this deployment type, use this parameter to group clauses. To create a detection clause, use one of the following cmdlets:

Save the output of these cmdlets into a variable. Then use the following format to group clauses: $clause2.Setting.LogicalName, $clause3.Setting.LogicalName.

Tip

In the Configuration Manager console, when you select the Group action, the clauses show parentheses before and after the grouped clauses.

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

-InputObject

Specify an application object to configure. To get this object, use the Get-CMApplication cmdlet.

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

-InstallationBehaviorType

Specify the installation behavior for this deployment type:

  • InstallForUser: The client only installs the application for the user to whom you deploy the application.
  • InstallForSystem: The client installs the application only once. It's available to all users.
  • InstallForSystemIfResourceIsDeviceOtherwiseInstallForUser: If you deploy the application to a device, the client installs it for all users. If you deploy the application to a user, the client only installs it for that user.
Type:InstallationBehaviorType
Accepted values:InstallForUser, InstallForSystem, InstallForSystemIfResourceIsDeviceOtherwiseInstallForUser
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InstallTaskSequenceId

The ID of the task sequence to install the app.

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

-LogonRequirementType

Specify the requirement for a signed-in user:

  • OnlyWhenNoUserLoggedOn: Only when no user is signed into Windows.

  • OnlyWhenUserLoggedOn: Only when a user is signed in. This option is the default.

  • WhetherOrNotUserLoggedOn: Whether or not a user is signed in.

    Note

    The value WhereOrNotUserLoggedOn is deprecated. It's replaced by WhetherOrNotUserLoggedOn.

If you set InstallationBehaviorType to InstallForUser, then you can't set this parameter.

Type:LogonRequirementType
Accepted values:OnlyWhenUserLoggedOn, WhereOrNotUserLoggedOn, WhetherOrNotUserLoggedOn, OnlyWhenNoUserLoggedOn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumRuntimeMins

Specify the maximum allowed run time of the deployment program for this application. Set an integer value in minutes.

Type:Int32
Aliases:MaximumAllowedRunTimeMinutes, MaximumAllowedRunTimeMins, MaximumRunTimeMinutes
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProductCode

If the application uses Windows Installer technology, specify an MSI product code to set as the detection method. When you use this parameter, it overwrites any existing detection methods.

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

-RebootBehavior

Specify the post-installation behavior:

  • BasedOnExitCode: Determine behavior based on return codes.

  • NoAction: No specific action.

  • ProgramReboot: The software install program might force a device restart.

  • ForceReboot: Configuration Manager client will force a mandatory device restart.

For more information on these behaviors, see Create applications in Configuration Manager.

Type:PostExecutionBehavior
Accepted values:BasedOnExitCode, NoAction, ForceReboot, ProgramReboot
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RemoveLanguage

Specify an array of supported languages to remove from this deployment type.

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

-RemoveRequirement

Specify an array of requirement rules to remove from this deployment type.

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

-RequireUserInteraction

Set this parameter to $true to allow users to view and interact with the deployment type installation.

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

-ScriptFile

Specify the script file to use to detect this deployment type. Also use the ScriptLanguage parameter.

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

-ScriptLanguage

If you use the ScriptFile or ScriptText parameters, use this parameter to specify the script language.

Type:ScriptLanguage
Aliases:ScriptType
Accepted values:PowerShell, VBScript, JavaScript
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ScriptText

Specify the text of a script to detect this deployment type. Also use the ScriptLanguage parameter.

For more information, see About custom script detection methods.

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

-SlowNetworkDeploymentMode

When a client uses a distribution point from a neighbor boundary group or the default site boundary group, specify the deployment option:

  • DoNothing: Don't download content
  • Download: Download content from the distribution point and run locally
Type:ContentHandlingMode
Accepted values:DoNothing, Download
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UninstallTaskSequenceId

The ID of the task sequence to uninstall the app.

Type:String
Aliases:UninstallId, UninstallTaskSequencePackageId
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserInteractionMode

Specify the installation program visibility:

  • Normal: The deployment type runs in the normal mode based on system and program defaults. This mode is the default.
  • Minimized: The deployment type runs minimized on client devices. Users might see the installation activity in the notification area or taskbar.
  • Maximized: The deployment type runs maximized on client devices. Users see all installation activity.
  • Hidden: The deployment type runs hidden on client devices. Users see no installation activity.
Type:UserInteractionMode
Aliases:InstallationProgramVisibility
Accepted values:Normal, Minimized, Maximized, Hidden
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

Outputs

System.Object