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 从另一个应用程序获取现有检测子句。

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

-AddLanguage

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

有关详细信息和语言标记列表,请参阅 Windows Language Code Identifier (LCID) Reference

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

-AddRequirement

-Application

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

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

-ApplicationId

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

Type:Int32
Aliases:CI_ID, CIId
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationName

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

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

-CacheContent

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

Type:Boolean
Aliases:PersistContentInClientCache
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Comment

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

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

-Confirm

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

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

-ContentFallback

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

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

-ContentLocation

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

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

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

-DeploymentTypeName

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

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

-DetectionClauseConnector

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

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

Type:Hashtable[]
Aliases:DetectionClauseConnectors
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-DisableWildcardHandling

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

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

-EnableBranchCache

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

Type:Boolean
Aliases:AllowClientsToShareContentOnSameSubnet
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-EstimatedRuntimeMins

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

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

-Force

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

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

-Force32Bit

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

Type:Boolean
Aliases:Force32BitInstaller
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ForceScriptDetection32Bit

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

Type:Boolean
Aliases:Force32BitDetectionScript
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

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

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

-GroupDetectionClauses

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

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

提示

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

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

-InputObject

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

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

-InstallationBehaviorType

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

  • InstallForUser:客户端仅为要部署该应用程序的用户安装应用程序。
  • InstallForSystem:客户端仅安装应用程序一次。 它可供所有用户使用。
  • InstallForSystemIfResourceIsDeviceOtherwiseInstallForUser:如果将应用程序部署到设备,客户端会为所有用户安装它。 如果将应用程序部署到用户,则客户端仅为该用户安装该应用程序。
Type:InstallationBehaviorType
Accepted values:InstallForUser, InstallForSystem, InstallForSystemIfResourceIsDeviceOtherwiseInstallForUser
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-InstallCommand

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

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

-InstallWorkingDirectory

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

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

-LogonRequirementType

指定登录用户的要求:

  • OnlyWhenNoUserLoggedOn:仅在用户未登录Windows。

  • OnlyWhenUserLoggedOn:仅在用户登录时。 此选项为默认选项。

  • WhetherOrNotUserLoggedOn:用户是否已登录。

    备注

    WhereOrNotUserLoggedOn 已弃用。 它替换为 WhetherOrNotUserLoggedOn

如果将 InstallationBehaviorType 设置为 InstallForUser ,则不能设置此参数。

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

-MaximumRuntimeMins

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

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

-NewName

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

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

-PassThru

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

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

-ProductCode

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

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

-RebootBehavior

指定安装后的行为:

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

  • NoAction:无特定操作。

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

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

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

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

-RemoveDetectionClause

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

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

-RemoveLanguage

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

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

-RemoveRequirement

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

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

-RepairCommand

使用此参数配置修复命令。 还要配置 RepairWorkingDirectory 参数。

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

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

-RepairWorkingDirectory

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

Type:String
Aliases:RepairStartIn, RepairFolder
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-RequireUserInteraction

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

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

-ScriptFile

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

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

-ScriptLanguage

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

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

-ScriptText

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

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

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

-SlowNetworkDeploymentMode

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

  • DoNothing:不下载内容
  • Download:从分发点下载内容并在本地运行
Type:ContentHandlingMode
Accepted values:DoNothing, Download
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-SourceUpdateProductCode

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

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

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

-UninstallCommand

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

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

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

-UninstallContentLocation

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

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

-UninstallOption

指定与 UninstallCommand 一起使用的内容

  • SameAsInstall:安装和卸载内容相同。 此选项为默认选项。
  • NoneRequired:应用程序不需要卸载内容。
  • Different:卸载内容与安装内容不同。 使用 UninstallContentLocation 指定用于卸载应用程序的内容的网络路径。
Type:UninstallContentSetting
Accepted values:SameAsInstall, NoneRequired, Different
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-UninstallWorkingDirectory

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

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

-UserInteractionMode

指定安装程序可见性:

  • Normal:部署类型基于系统默认值和程序默认值在正常模式下运行。 此模式为默认模式。
  • Minimized:部署类型在客户端设备上最小化运行。 用户可能会看到通知区域或任务栏中的安装活动。
  • Maximized:部署类型在客户端设备上最大化运行。 用户可以看到所有安装活动。
  • Hidden:部署类型在客户端设备上隐藏。 用户看不到安装活动。
Type:UserInteractionMode
Aliases:InstallationProgramVisibility
Accepted values:Normal, Minimized, Maximized, Hidden
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

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

输入

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

输出

System.Object