Add-CMScriptDeploymentType

Adds a script installer deployment type.

Syntax

Add-CMScriptDeploymentType
   -ProductCode <String>
   [-ContentLocation <String>]
   -DeploymentTypeName <String>
   -InstallCommand <String>
   [-AddDetectionClause <DetectionClause[]>]
   -ApplicationId <Int32>
   [-CacheContent]
   [-ContentFallback]
   [-EnableBranchCache]
   [-EstimatedRuntimeMins <Int32>]
   [-Force32Bit]
   [-InstallWorkingDirectory <String>]
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-RequireUserInteraction]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallCommand <String>]
   [-UninstallWorkingDirectory <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-SourceUpdateProductCode <String>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMScriptDeploymentType
   [-ContentLocation <String>]
   -DeploymentTypeName <String>
   -InstallCommand <String>
   [-AddDetectionClause <DetectionClause[]>]
   -ApplicationId <Int32>
   [-CacheContent]
   [-ContentFallback]
   [-EnableBranchCache]
   [-EstimatedRuntimeMins <Int32>]
   [-Force32Bit]
   [-ForceScriptDetection32Bit]
   [-InstallWorkingDirectory <String>]
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-RequireUserInteraction]
   -ScriptLanguage <ScriptLanguage>
   [-ScriptText <String>]
   [-ScriptFile <String>]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallCommand <String>]
   [-UninstallWorkingDirectory <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-SourceUpdateProductCode <String>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMScriptDeploymentType
   [-ContentLocation <String>]
   -DeploymentTypeName <String>
   -InstallCommand <String>
   [-AddDetectionClause <DetectionClause[]>]
   -ApplicationName <String>
   [-CacheContent]
   [-ContentFallback]
   [-EnableBranchCache]
   [-EstimatedRuntimeMins <Int32>]
   [-Force32Bit]
   [-ForceScriptDetection32Bit]
   [-InstallWorkingDirectory <String>]
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-RequireUserInteraction]
   -ScriptLanguage <ScriptLanguage>
   [-ScriptText <String>]
   [-ScriptFile <String>]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallCommand <String>]
   [-UninstallWorkingDirectory <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-SourceUpdateProductCode <String>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMScriptDeploymentType
   -ProductCode <String>
   [-ContentLocation <String>]
   -DeploymentTypeName <String>
   -InstallCommand <String>
   [-AddDetectionClause <DetectionClause[]>]
   -ApplicationName <String>
   [-CacheContent]
   [-ContentFallback]
   [-EnableBranchCache]
   [-EstimatedRuntimeMins <Int32>]
   [-Force32Bit]
   [-InstallWorkingDirectory <String>]
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-RequireUserInteraction]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallCommand <String>]
   [-UninstallWorkingDirectory <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-SourceUpdateProductCode <String>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMScriptDeploymentType
   [-ContentLocation <String>]
   -DeploymentTypeName <String>
   -InstallCommand <String>
   [-AddDetectionClause <DetectionClause[]>]
   -InputObject <IResultObject>
   [-CacheContent]
   [-ContentFallback]
   [-EnableBranchCache]
   [-EstimatedRuntimeMins <Int32>]
   [-Force32Bit]
   [-ForceScriptDetection32Bit]
   [-InstallWorkingDirectory <String>]
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-RequireUserInteraction]
   -ScriptLanguage <ScriptLanguage>
   [-ScriptText <String>]
   [-ScriptFile <String>]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallCommand <String>]
   [-UninstallWorkingDirectory <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-SourceUpdateProductCode <String>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMScriptDeploymentType
   -ProductCode <String>
   [-ContentLocation <String>]
   -DeploymentTypeName <String>
   -InstallCommand <String>
   [-AddDetectionClause <DetectionClause[]>]
   -InputObject <IResultObject>
   [-CacheContent]
   [-ContentFallback]
   [-EnableBranchCache]
   [-EstimatedRuntimeMins <Int32>]
   [-Force32Bit]
   [-InstallWorkingDirectory <String>]
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-RequireUserInteraction]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-UninstallCommand <String>]
   [-UninstallWorkingDirectory <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-SourceUpdateProductCode <String>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-AddRequirement <Rule[]>]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Add-CMScriptDeploymentType cmdlet adds a script installer deployment type to an application.

Examples

Example 1: Add a script deployment type to an application

PS C:\>Add-CMScriptDeploymentType -ApplicationName "Application01" -DeploymentTypeName "ScriptDT01" -Comment "Div A script" -InstallCommand 'msiexec /i ""\\Machine01\Resources\Applications\MSI\AdvertMSI\AdvertMSI.msi"' -ScriptLanguage VBScript -ScriptContent "1231231" -ForceScriptDetection32Bit

This command adds the script deployment type named ScriptDT01 to the application named Application 01, providing the installation command, specifying the script language as VBScript, and providing the text of the script. Specifying the ForceScriptDetection32Bit indicates that the deployment type will use the WOW64 subsystem to run the script on a 64-bit computer.

Example 2: Add a script deployment type to an application by using the pipeline

PS C:\> Get-CMApplication -Name "Application01" | Add-CMScriptDeploymentType  -DeploymentTypeName "ScriptDT02" -Comment "Div A script" -InstallCommand 'msiexec /i ""\\Machine01\Resources\Applications\MSI\AdvertMSI\AdvertMSI.msi"' -ScriptLanguage VBScript -ScriptContent "1231231" -ForceScriptDetection32Bit

This command gets the application object named Application 01 and uses the pipeline operator to pass the object to Add-CMScriptDeploymentType. Add-CMScriptDeploymentType adds a script deployment type named ScriptDT02, providing the installation command, specifying the script language as VBScript, and providing the text of the script. Specifying the ForceScriptDetection32Bit indicates that the deployment type will use the WOW64 subsystem to run the script on a 64-bit computer.

Required Parameters

-ApplicationId

Specifies the ID of the application that is associated with this deployment type.

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

Specifies the name of the application that is associated with this deployment type.

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

Specifies a display name for this deployment type.

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

Specifies an application object. To obtain an application object, use the Get-CMApplication cmdlet.

Type:IResultObject
Aliases:Application
Position:Named
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False
-InstallCommand

Specifies the command to use to install the Windows Installer package from the command line.

Type:String
Aliases:InstallationProgram
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ProductCode

Specifies the product code in the detection method for the deployment type.

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

Specifies the script language that you want to use to detect this deployment type. Valid values are:

  • PowerShell
  • VBScript
  • Jscript
  • ScriptText
Type:ScriptLanguage
Aliases:ScriptType
Parameter Sets:PowerShell, VBScript, JavaScript
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Optional Parameters

-AddDetectionClause
Type:DetectionClause[]
Aliases:AddDetectionClauses
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-AddLanguage

Adds an array of languages that this deployment type supports.

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

Adds an array of requirements for this deployment type.

Type:Rule[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-CacheContent

Indicates that the deployment type saves content indefinitely in the cache on the client computer.

Type:SwitchParameter
Aliases:PersistContentInClientCache
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Comment

Specifies a description for this deployment type.

Type:String
Aliases:AdministratorComment
Position:Named
Default value:None
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:False
Accept pipeline input:False
Accept wildcard characters:False
-ContentFallback

Indicates that a client can use a fallback location provided by a management point. A fallback location point provides an alternate location for source content when the content for the deployment type is not available on any of the preferred distribution points.

Type:SwitchParameter
Aliases:EnableContentLocationFallback, AllowClientsToUseFallbackSourceLocationForContent
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ContentLocation

Specifies the path of the content. The site system server requires permissions to read the content files.

Type:String
Aliases:InstallationFileLocation
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-DisableWildcardHandling

DisableWildcardHandling treats wildcard characters as literal character values. Cannot be combined with ForceWildcardHandling.

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

Indicates that clients that use Windows BranchCache are allowed to download content from an on-premises distribution point. Content downloads from cloud-based distribution points can always be shared by clients that use Windows BranchCache.

Type:SwitchParameter
Aliases:AllowClientsToShareContentOnSameSubnet
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-EstimatedRuntimeMins

Specifies the estimated installation time, in minutes, of the deployment program for the application. This estimate is displayed before the application installs.

Type:Int32
Aliases:EstimatedInstallationTimeMinutes, EstimatedInstallationTimeMins, EstimatedRunTimeMinutes
Position:Named
Default value:None
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
Accept pipeline input:False
Accept wildcard characters:False
-Force32Bit

Indicates that the deployment type uses the Microsoft Windows-32-on-Windows-64 (WOW64) subsystem to run the installation on a 64-bit client computer.

Type:SwitchParameter
Aliases:Force32BitInstaller
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ForceScriptDetection32Bit

Indicates that the deployment type uses the Microsoft Windows-32-on-Windows-64 (WOW64) subsystem to run a script on a 64-bit client computer.

Type:SwitchParameter
Aliases:Force32BitDetectionScript
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ForceWildcardHandling

ForceWildcardHandling processes wildcard characters and may lead to unexpected behavior (not recommended). Cannot be combined with DisableWildcardHandling.

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

Specifies the folder that contains the installation program for the deployment type. This folder can be an absolute path on the client, or a path to the distribution point folder that contains the installation files.

Type:String
Aliases:InstallationStartIn, InstallFolder
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-InstallationBehaviorType

Specifies the installation behavior of the deployment type. Valid values are:

  • InstallForUser
  • InstallForSystem
  • InstallForSystemIfResourceIsDeviceOtherwiseInstallForUser
Type:InstallationBehaviorType
Parameter Sets:InstallForUser, InstallForSystem, InstallForSystemIfResourceIsDeviceOtherwiseInstallForUser
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-LogonRequirementType

Specifies the logon requirement for the deployment type. Valid values are:

  • OnlyWhenNoUserLoggedOn
  • OnlyWhenUserLoggedOn
  • WhereOrNotUserLoggedOn
  • WhetherOrNotUserLoggedOn
Type:LogonRequirementType
Parameter Sets:OnlyWhenUserLoggedOn, WhereOrNotUserLoggedOn, WhetherOrNotUserLoggedOn, OnlyWhenNoUserLoggedOn
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-MaximumRuntimeMins

Specifies the maximum run time, in minutes, of the deployment program for this application.

Type:Int32
Aliases:MaximumAllowedRunTimeMinutes, MaximumAllowedRunTimeMins, MaximumRunTimeMinutes
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-RebootBehavior
Type:PostExecutionBehavior
Parameter Sets:BasedOnExitCode, NoAction, ForceReboot, ProgramReboot
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-RemoveLanguage

Removes the existing supported languages from this deployment type.

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

Removes the existing installation requirements from this deployment type.

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

Indicates whether a user can interact with the deployment type installation to configure the installation options.

Type:SwitchParameter
Aliases:RequiresUserInteraction
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ScriptFile
Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ScriptText

Specifies the script to use to detect this deployment type.

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

Specifies the installation behavior of the deployment type on a slow network. Valid values are:

  • DoNothing
  • Download
  • DownloadContentForStreaming
Type:ContentHandlingMode
Parameter Sets:DoNothing, Download
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-SourceUpdateProductCode

Specifies the Windows Installer product code to enable installation source management. Windows Source management enables an MSI represented by this deployment type to be automatically updated or repaired from content source files on an available distribution point.

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

Specifies the command to use to uninstall the Windows Installer package from the command line.

Type:String
Aliases:UninstallationProgram
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-UninstallWorkingDirectory

Specifies the folder that contains the uninstall program for the deployment type. This folder can be an absolute path on the client, or a path that is relative to the distribution point folder that contains the package.

Type:String
Aliases:UninstallationStartIn, UninstallFolder
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-UserInteractionMode

Specifies the mode in which the deployment type runs on client devices. Valid values are:

  • Normal
  • Minimized
  • Maximized
  • Hidden
Type:UserInteractionMode
Aliases:InstallationProgramVisibility
Parameter Sets:Normal, Minimized, Maximized, Hidden
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

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

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