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:
- New-CMDetectionClauseDirectory
- New-CMDetectionClauseFile
- New-CMDetectionClauseRegistryKey
- New-CMDetectionClauseRegistryKeyValue
- New-CMDetectionClauseWindowsInstaller
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
Specify an array of requirement objects for the deployment type. To create a requirement rule object, use one of the following cmdlets:
- New-CMRequirementRuleActiveDirectorySiteValue
- New-CMRequirementRuleBooleanValue
- New-CMRequirementRuleCMSiteValue
- New-CMRequirementRuleCommonValue
- New-CMRequirementRuleDeviceOwnershipValue
- New-CMRequirementRuleExistential
- New-CMRequirementRuleExpression
- New-CMRequirementRuleFileAttributeValue
- New-CMRequirementRuleFilePermissionValue
- New-CMRequirementRuleFreeDiskSpaceValue
- New-CMRequirementRuleInputTypeValue
- New-CMRequirementRuleOperatingSystemLanguageValue
- New-CMRequirementRuleOperatingSystemValue
- New-CMRequirementRuleOUValue
- New-CMRequirementRuleRegistryKeyPermissionValue
- New-CMRequirementRuleScreenResolutionValue
Starting in version 2111, you can use the Get-CMDeploymentTypeRequirement cmdlet to copy rules from another deployment type.
Type: | Rule[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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:
- New-CMDetectionClauseDirectory
- New-CMDetectionClauseFile
- New-CMDetectionClauseRegistryKey
- New-CMDetectionClauseRegistryKeyValue
- New-CMDetectionClauseWindowsInstaller
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 byWhetherOrNotUserLoggedOn
.
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 contentDownload
: 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