New-CMTSStepConditionSoftware

为任务序列步骤创建 已安装的软件 条件。

语法

New-CMTSStepConditionSoftware
   [-IsAnyVersion <Boolean>]
   -MsiFilePath <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

使用此 cmdlet 为任务序列步骤创建 已安装的软件 条件对象。 然后,将 New-CMTSStep*Set-CMTSStep* cmdlet 之一与 ConditionAddCondition 参数结合使用 。 例如 Set-CMTSStepApplyDataImage

有关详细信息,请参阅 使用任务序列编辑器:条件

注意

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

示例

示例 1

此示例首先为Configuration Manager控制台 MSI 创建一个条件对象。

然后,它使用 Set-CMTSStepRunPowerShellScript cmdlet 将此条件对象添加到默认 OS 部署任务序列的“运行 PowerShell 脚本”步骤。

$msi = "\\cm01.contoso.com\SMS_XYZ\bin\i386\adminconsole.msi"

$condition = New-CMTSStepConditionSoftware -MsiFilePath $msi -IsAnyVersion $true

$tsNameOsd = "Default OS deployment"
$tsStepNameRunPwsh = "Run PowerShell Script"

Set-CMTSStepRunPowerShellScript -TaskSequenceName $tsNameOsd -StepName $tsStepNameRunPwsh -AddCondition $condition

此示例脚本在步骤中创建以下条件:

Software An version of "Microsoft Endpoint Configuration Manager Console" installed

参数

-Confirm

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

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

-DisableWildcardHandling

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

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

-ForceWildcardHandling

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

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

-IsAnyVersion

使用此参数确定条件与 MSI 代码的匹配方式:

  • $true:匹配此产品的任何版本,仅 MSI 升级代码
  • $false:匹配此特定产品、MSI 产品代码升级代码

如果未指定此参数,则默认情况下它与特定产品匹配。

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

-MsiFilePath

指定要计算的 MSI 文件的路径。 cmdlet 从此 MSI 中读取产品详细信息。 不会保存 MSI 的路径,而只会保存产品详细信息。

例如,它保存Configuration Manager版本 2107 AdminConsole.msi的以下详细信息:

  • ProductCode{B3842C82-95EB-472C-940A-D82C4A10857D}
  • ProductNameMicrosoft Endpoint Configuration Manager 控制台
  • UpgradeCode{B038D5E8-6C93-4A05-9E21-240324CFDF0E}
  • Version5.2107.1059.1000
Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

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

输入

None

输出

IResultObject

备注

有关此返回对象及其属性的详细信息,请参阅 SMS_TaskSequence_SoftwareConditionExpression服务器 WMI 类