Set-CMMsiDeploymentType

配置 Windows Installer 部署类型。

语法

Set-CMMsiDeploymentType
   [-AddDetectionClause <DetectionClause[]>]
   [-CacheContent <Boolean>]
   [-ContentFallback <Boolean>]
   [-ContentLocation <String>]
   [-DetectionClauseConnector <Hashtable[]>]
   [-EnableBranchCache <Boolean>]
   [-EstimatedRuntimeMins <Int32>]
   [-Force32Bit <Boolean>]
   [-ForceScriptDetection32Bit <Boolean>]
   [-GroupDetectionClauses <String[]>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   [-InstallCommand <String>]
   [-InstallWorkingDirectory <String>]
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-ProductCode <String>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RemoveDetectionClause <String[]>]
   [-RepairCommand <String>]
   [-RepairWorkingDirectory <String>]
   [-RequireUserInteraction <Boolean>]
   [-ScriptFile <String>]
   [-ScriptLanguage <ScriptLanguage>]
   [-ScriptText <String>]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-SourceUpdateProductCode <String>]
   [-UninstallCommand <String>]
   [-UninstallContentLocation <String>]
   [-UninstallOption <UninstallContentSetting>]
   [-UninstallWorkingDirectory <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   -ApplicationName <String>
   -DeploymentTypeName <String>
   [-NewName <String>]
   [-PassThru]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMMsiDeploymentType
   [-AddDetectionClause <DetectionClause[]>]
   [-CacheContent <Boolean>]
   [-ContentFallback <Boolean>]
   [-ContentLocation <String>]
   [-DetectionClauseConnector <Hashtable[]>]
   [-EnableBranchCache <Boolean>]
   [-EstimatedRuntimeMins <Int32>]
   [-Force32Bit <Boolean>]
   [-ForceScriptDetection32Bit <Boolean>]
   [-GroupDetectionClauses <String[]>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   [-InstallCommand <String>]
   [-InstallWorkingDirectory <String>]
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-ProductCode <String>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RemoveDetectionClause <String[]>]
   [-RepairCommand <String>]
   [-RepairWorkingDirectory <String>]
   [-RequireUserInteraction <Boolean>]
   [-ScriptFile <String>]
   [-ScriptLanguage <ScriptLanguage>]
   [-ScriptText <String>]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-SourceUpdateProductCode <String>]
   [-UninstallCommand <String>]
   [-UninstallContentLocation <String>]
   [-UninstallOption <UninstallContentSetting>]
   [-UninstallWorkingDirectory <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   -Application <IResultObject>
   -DeploymentTypeName <String>
   [-NewName <String>]
   [-PassThru]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMMsiDeploymentType
   [-AddDetectionClause <DetectionClause[]>]
   [-CacheContent <Boolean>]
   [-ContentFallback <Boolean>]
   [-ContentLocation <String>]
   [-DetectionClauseConnector <Hashtable[]>]
   [-EnableBranchCache <Boolean>]
   [-EstimatedRuntimeMins <Int32>]
   [-Force32Bit <Boolean>]
   [-ForceScriptDetection32Bit <Boolean>]
   [-GroupDetectionClauses <String[]>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   [-InstallCommand <String>]
   [-InstallWorkingDirectory <String>]
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-ProductCode <String>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RemoveDetectionClause <String[]>]
   [-RepairCommand <String>]
   [-RepairWorkingDirectory <String>]
   [-RequireUserInteraction <Boolean>]
   [-ScriptFile <String>]
   [-ScriptLanguage <ScriptLanguage>]
   [-ScriptText <String>]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-SourceUpdateProductCode <String>]
   [-UninstallCommand <String>]
   [-UninstallContentLocation <String>]
   [-UninstallOption <UninstallContentSetting>]
   [-UninstallWorkingDirectory <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   -ApplicationId <Int32>
   -DeploymentTypeName <String>
   [-NewName <String>]
   [-PassThru]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMMsiDeploymentType
   [-AddDetectionClause <DetectionClause[]>]
   [-CacheContent <Boolean>]
   [-ContentFallback <Boolean>]
   [-ContentLocation <String>]
   [-DetectionClauseConnector <Hashtable[]>]
   [-EnableBranchCache <Boolean>]
   [-EstimatedRuntimeMins <Int32>]
   [-Force32Bit <Boolean>]
   [-ForceScriptDetection32Bit <Boolean>]
   [-GroupDetectionClauses <String[]>]
   [-InstallationBehaviorType <InstallationBehaviorType>]
   [-InstallCommand <String>]
   [-InstallWorkingDirectory <String>]
   [-LogonRequirementType <LogonRequirementType>]
   [-MaximumRuntimeMins <Int32>]
   [-ProductCode <String>]
   [-RebootBehavior <PostExecutionBehavior>]
   [-RemoveDetectionClause <String[]>]
   [-RepairCommand <String>]
   [-RepairWorkingDirectory <String>]
   [-RequireUserInteraction <Boolean>]
   [-ScriptFile <String>]
   [-ScriptLanguage <ScriptLanguage>]
   [-ScriptText <String>]
   [-SlowNetworkDeploymentMode <ContentHandlingMode>]
   [-SourceUpdateProductCode <String>]
   [-UninstallCommand <String>]
   [-UninstallContentLocation <String>]
   [-UninstallOption <UninstallContentSetting>]
   [-UninstallWorkingDirectory <String>]
   [-UserInteractionMode <UserInteractionMode>]
   [-AddRequirement <Rule[]>]
   -InputObject <IResultObject>
   [-NewName <String>]
   [-PassThru]
   [-RemoveLanguage <String[]>]
   [-RemoveRequirement <Rule[]>]
   [-AddLanguage <String[]>]
   [-Comment <String>]
   [-Force]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

使用此 cmdlet 在应用程序中配置 Windows Installer (MSI) 部署类型的设置。

注意

从 Configuration Manager 站点驱动器运行 Configuration Manager cmdlet,例如 PS XYZ:\>。 有关详细信息,请参阅 入门

示例

示例 1:修改 Windows Installer 部署类型

此命令将部署类型的名称从 DTMsi 更改为 DTMsi_Updated。 它添加了 美国英语 () (en-US) 和 中文 (简体中文) (zh-CN) 作为支持的语言。 它指定安装大约需要 14 分钟才能完成,并且仅在没有用户登录到 Windows 时才运行。

Set-CMMSiDeploymentType -ApplicationName "testMsi" -DeploymentTypeName "DTMsi" -NewName "DTMsi_Updated" -AddLanguage "en-US","zh-CN" -Comment "New Deployment Type-updated" -EstimatedRuntimeMins 14 -LogonRequirementType OnlyWhenNoUserLoggedOn

有关要求规则和检测方法的其他示例,请参阅 Set-CMScriptDeploymentTypeAdd-CMMsiDeploymentType

参数

-AddDetectionClause

为此部署类型指定检测方法子句的数组。 若要创建检测子句,请使用以下 cmdlet 之一:

将这些 cmdlet 的输出保存到变量中。 然后将这些变量指定为此参数的数组。 例如,-AddDetectionClause $clauseFile1,$clauseFile2,$clauseFile3

还可以使用 Get-CMDeploymentTypeDetectionClause 从另一个应用程序获取现有检测子句。

类型:DetectionClause[]
别名:AddDetectionClauses
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AddLanguage

指定部署类型支持的语言标记数组。 例如,若要添加 俄语 (俄罗斯) ,请指定 标记 ru-RU

有关详细信息和语言标记列表,请参阅 Windows 语言代码标识符 (LCID) 参考

类型:String[]
别名:AddLanguages, Languages, Language
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AddRequirement

-Application

为此部署类型指定应用程序对象。 若要获取此对象,请使用 Get-CMApplication cmdlet。

类型:IResultObject
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ApplicationId

为此部署类型指定应用程序的 ID。

类型:Int32
别名:CI_ID, CIId
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ApplicationName

为此部署类型指定应用程序的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-CacheContent

将此参数设置为 以 $true 无限期地在客户端缓存中保存内容。

类型:Boolean
别名:PersistContentInClientCache
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Comment

为部署类型指定可选说明。

类型:String
别名:AdministratorComment
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-ContentFallback

如果将此参数设置为 $true,则当内容在客户端的当前或相邻边界组中的任何分发点上不可用时,客户端可以使用站点默认边界组中的分发点。

类型:Boolean
别名:EnableContentLocationFallback, AllowClientsToUseFallbackSourceLocationForContent
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ContentLocation

指定 MSI 文件的网络源路径。 站点系统服务器需要读取内容文件的权限。

从版本 2107 开始,可以指定 MSI 文件的路径或包含 MSI 的文件夹的路径。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DeploymentTypeName

指定要配置的部署类型的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-DetectionClauseConnector

使用 GroupDetectionClauses 参数对检测子句进行分组时,请使用此参数指定连接器。

以下示例定义 OR 连接器: @{"LogicalName"=$clauseFile3.Setting.LogicalName;"Connector"="OR"}

类型:Hashtable[]
别名:DetectionClauseConnectors
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DisableWildcardHandling

此参数将通配符视为文本字符值。 不能将其与 ForceWildcardHandling 组合使用。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EnableBranchCache

此参数已弃用。 BranchCache 始终在客户端上启用,如果分发点支持,则会使用它。

类型:Boolean
别名:AllowClientsToShareContentOnSameSubnet
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EstimatedRuntimeMins

指定应用程序的此部署类型的估计安装时间(以分钟为单位)。 软件中心在安装应用程序之前向用户显示此估算值。

类型:Int32
别名:EstimatedInstallationTimeMinutes, EstimatedInstallationTimeMins, EstimatedRunTimeMinutes
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Force

强制运行命令而不要求用户确认。

类型:SwitchParameter
别名:ForceForUnknownPublisher
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Force32Bit

将此参数设置为 , $true 以在 64 位客户端上以 32 位进程的形式运行安装和卸载程序。

类型:Boolean
别名:Force32BitInstaller
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ForceScriptDetection32Bit

如果使用自定义脚本来检测是否存在此部署类型,请将此参数设置为 $true 以在 64 位客户端上以 32 位进程的形式运行脚本。

类型:Boolean
别名:Force32BitDetectionScript
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ForceWildcardHandling

此参数处理通配符,并可能导致意外行为, (不建议) 。 不能将其与 DisableWildcardHandling 组合使用。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-GroupDetectionClauses

配置规则以检测是否存在此部署类型时,请使用此参数对子句进行分组。 若要创建检测子句,请使用以下 cmdlet 之一:

将这些 cmdlet 的输出保存到变量中。 然后使用以下格式对子句进行分组: $clause2.Setting.LogicalName, $clause3.Setting.LogicalName

提示

在 Configuration Manager 控制台中,选择 “组 ”操作时,子句在分组子句之前和之后显示括号。

类型:String[]
别名:GroupDetectionClausesByLogicalName
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InputObject

指定要配置的部署类型对象。 若要获取此对象,请使用 Get-CMDeploymentType cmdlet。

类型:IResultObject
别名:DeploymentType
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-InstallationBehaviorType

指定此部署类型的安装行为:

  • InstallForUser:客户端仅为部署应用程序的用户安装应用程序。
  • InstallForSystem:客户端仅安装一次应用程序。 它可供所有用户使用。
  • InstallForSystemIfResourceIsDeviceOtherwiseInstallForUser:如果将应用程序部署到设备,则客户端会为所有用户安装该应用程序。 如果将应用程序部署到用户,则客户端仅为该用户安装该应用程序。
类型:InstallationBehaviorType
接受的值:InstallForUser, InstallForSystem, InstallForSystemIfResourceIsDeviceOtherwiseInstallForUser
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InstallCommand

指定安装程序命令行以安装 Windows Installer 包。

类型:String
别名:InstallationProgram
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InstallWorkingDirectory

指定在客户端运行 InstallCommand 时用作工作目录的路径。

类型:String
别名:InstallationStartIn, InstallFolder
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-LogonRequirementType

指定已登录用户的要求:

  • OnlyWhenNoUserLoggedOn:仅当没有用户登录到 Windows 时。

  • OnlyWhenUserLoggedOn:仅当用户登录时。 此选项是默认选项。

  • WhetherOrNotUserLoggedOn:用户是否已登录。

    注意

    WhereOrNotUserLoggedOn 已弃用。 它已替换为 WhetherOrNotUserLoggedOn

如果将 InstallationBehaviorType 设置为 InstallForUser,则无法设置此参数。

类型:LogonRequirementType
接受的值:OnlyWhenUserLoggedOn, WhereOrNotUserLoggedOn, WhetherOrNotUserLoggedOn, OnlyWhenNoUserLoggedOn
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MaximumRuntimeMins

指定此应用程序的部署程序允许的最大运行时间。 设置整数值(以分钟为单位)。

类型:Int32
别名:MaximumAllowedRunTimeMinutes, MaximumAllowedRunTimeMins, MaximumRunTimeMinutes
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NewName

指定新名称以重命名此部署类型。

类型:String
别名:NewDeploymentTypeName
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PassThru

添加此参数可返回一个对象,该对象表示正在使用的项。 默认情况下,此 cmdlet 可能不会生成任何输出。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ProductCode

指定要设置为检测方法的 MSI 产品代码。 使用此参数时,它会覆盖任何其他检测方法。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RebootBehavior

指定安装后行为:

  • BasedOnExitCode:根据返回代码确定行为。

  • NoAction:无特定操作。

  • ProgramReboot:软件安装程序可能会强制重启设备。

  • ForceReboot:Configuration Manager 客户端将强制重启设备。

有关这些行为的详细信息,请参阅 在 Configuration Manager 中创建应用程序

类型:PostExecutionBehavior
接受的值:BasedOnExitCode, NoAction, ForceReboot, ProgramReboot
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveDetectionClause

指定要删除的检测方法子句的数组。

类型:String[]
别名:RemoveDetectionClauses
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveLanguage

指定要从此部署类型中删除的受支持语言的数组。

类型:String[]
别名:RemoveLanguages
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveRequirement

指定要从此部署类型中删除的要求规则数组。

类型:Rule[]
别名:RemoveRequirements
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RepairCommand

使用此参数配置修复命令。 此外,配置 RepairWorkingDirectory 参数。

从版本 2006 开始,可以指定空字符串。

类型:String
别名:RepairProgram
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RepairWorkingDirectory

使用此参数配置修复命令的工作目录。 此外,配置 RepairCommand 参数。

类型:String
别名:RepairStartIn, RepairFolder
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RequireUserInteraction

将此参数设置为 以 $true 允许用户查看部署类型安装并与之交互。

类型:Boolean
别名:RequiresUserInteraction
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ScriptFile

指定用于检测此部署类型的脚本文件。 另请使用 ScriptLanguage 参数。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ScriptLanguage

如果使用 ScriptFileScriptText 参数,请使用此参数指定脚本语言。

类型:ScriptLanguage
别名:ScriptType
接受的值:PowerShell, VBScript, JavaScript
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ScriptText

指定用于检测此部署类型的脚本文本。 另请使用 ScriptLanguage 参数。

有关详细信息,请参阅 关于自定义脚本检测方法

类型:String
别名:ScriptContent, Script
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SlowNetworkDeploymentMode

当客户端使用来自相邻边界组或默认站点边界组的分发点时,请指定部署选项:

  • DoNothing:不下载内容
  • Download:从分发点下载内容并在本地运行
类型:ContentHandlingMode
接受的值:DoNothing, Download
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SourceUpdateProductCode

指定 MSI 产品代码。 此产品代码是 GUID 格式。

Windows 源管理允许从可用分发点上的内容源文件自动更新或修复此部署类型表示的 .MSI。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UninstallCommand

指定用于卸载应用程序的命令行。

从版本 2006 开始,可以指定空字符串。

类型:String
别名:UninstallationProgram
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UninstallContentLocation

指定要与 ContentLocation 不同的 UninstallCommand 使用的源内容的网络路径。 将 UninstallOption 设置为 Different时,请使用此参数。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UninstallOption

指定要与 UninstallCommand 一起使用的内容:

  • SameAsInstall:安装和卸载内容相同。 此选项是默认选项。
  • NoneRequired:应用程序不需要用于卸载的内容。
  • Different:卸载内容与安装内容不同。 使用 UninstallContentLocation 指定用于卸载应用程序的内容的网络路径。
类型:UninstallContentSetting
接受的值:SameAsInstall, NoneRequired, Different
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UninstallWorkingDirectory

指定在客户端运行 UninstallCommand 时用作工作目录的路径。

类型:String
别名:UninstallationStartIn, UninstallFolder
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UserInteractionMode

指定安装程序可见性:

  • Normal:部署类型根据系统和程序默认值在正常模式下运行。 此模式是默认模式。
  • Minimized:部署类型在客户端设备上以最小化方式运行。 用户可能会在通知区域或任务栏中看到安装活动。
  • Maximized:部署类型在客户端设备上运行最大化。 用户将看到所有安装活动。
  • Hidden:部署类型在客户端设备上隐藏运行。 用户看不到安装活动。
类型:UserInteractionMode
别名:InstallationProgramVisibility
接受的值:Normal, Minimized, Maximized, Hidden
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示在 cmdlet 运行时发生的情况。 cmdlet 不会运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

输出

System.Object