New-CMTSStepConditionIfStatement
为任务序列步骤创建 if 语句 条件。
语法
New-CMTSStepConditionIfStatement
[-Condition <IResultObject[]>]
-StatementType <ConditionStatementType>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
使用此 cmdlet 为任务序列步骤创建 if 语句 条件对象。 然后,将 New-CMTSStep* 或 Set-CMTSStep* cmdlet 之一与 Condition 或 AddCondition 参数结合使用 。 例如 ,Set-CMTSStepApplyDataImage。
有关详细信息,请参阅 使用任务序列编辑器:条件。
注意
从 Configuration Manager 站点驱动器运行 Configuration Manager cmdlet,例如 PS XYZ:\>
。 有关详细信息,请参阅 入门。
示例
示例 1
此示例首先使用 New-CMTSStepConditionFile 和 New-CMTSStepConditionQueryWMI cmdlet 创建子条件对象。 它将这两个对象传递给 New-CMTSStepConditionIfStatement cmdlet 并保存该条件对象。
然后,它使用 Set-CMTSStepSetDynamicVariable cmdlet 将此条件对象添加到默认 OS 部署任务序列的“设置动态变量”步骤。
$file = "C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\en-US\AdminUI.PS.dll-Help.xml"
$datetime = Get-Date ("August 2, 2021")
$conditionFile = New-CMTSStepConditionFile -FilePath $file -FileTimestamp $datetime -FileDateTimeOperator Greater
$model = "Latitude E7470"
$wmiQuery = "Select * From Win32_ComputerSystem Where Model = `"$Model`""
$conditionQuery = New-CMTSStepConditionQueryWMI -Namespace "root\cimv2" -Query $wmiQuery
$condition = New-CMTSStepConditionIfStatement -StatementType All -Condition $conditionFile,$conditionQuery
$tsNameOsd = "Default OS deployment"
$tsStepNameSetDynVar = "Set Dynamic Variables"
Set-CMTSStepSetDynamicVariable -TaskSequenceName $tsNameOsd -StepName $tsStepNameSetDynVar -AddCondition $condition
If All the conditions are true:
File C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\en-US\AdminUI.PS.dll-Help.xml exists and timestamp greater than "8/1/2021 16:00:00"
WMI Query Select * From Win32_ComputerSystem Where Model = "Latitude E7470"
参数
-Condition
指定要包含在此 if 语句 块中的一个或多个条件对象。 若要获取这些嵌套对象,请使用 New-CMTSStepCondition* cmdlet 之一。 例如 ,New-CMTSStepConditionFile。
类型: | IResultObject[] |
别名: | SubCondition, SubConditions |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DisableWildcardHandling
此参数将通配符视为文本字符值。 不能将其与 ForceWildcardHandling 组合使用。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ForceWildcardHandling
此参数处理通配符,并可能导致意外行为, (不建议) 。 不能将其与 DisableWildcardHandling 组合使用。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-StatementType
指定要创建的 if 语句 的类型。 可以使用此条件执行三种类型的检查:
- 如果
All
条件为 true - 如果
Any
条件为 true - 如果
None
条件为 true
类型: | ConditionStatementType |
别名: | Operator |
接受的值: | All, Any, None |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示在 cmdlet 运行时发生的情况。 cmdlet 不会运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
None
输出
IResultObject
备注
有关此返回对象及其属性的详细信息,请参阅 SMS_TaskSequence_ConditionOperator服务器 WMI 类。