Поделиться через


New-CMTSStepConditionIfStatement

Создайте условие оператора if для шага последовательности задач.

Синтаксис

New-CMTSStepConditionIfStatement
   [-Condition <IResultObject[]>]
   -StatementType <ConditionStatementType>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Описание

Используйте этот командлет, чтобы создать объект условия оператора if для шага последовательности задач. Затем используйте один из командлетов New-CMTSStep* или Set-CMTSStep* с параметрами Condition или AddCondition . Например, Set-CMTSStepApplyDataImage.

Дополнительные сведения см . в разделе Использование редактора последовательности задач: Условия.

Примечание.

Запустите командлеты Configuration Manager с диска сайта Configuration Manager, например PS XYZ:\>. Дополнительные сведения см. в статье Начало работы.

Примеры

Пример 1

В этом примере сначала используются командлеты New-CMTSStepConditionFile и New-CMTSStepConditionQueryWMI для создания дочерних объектов условий. Он передает эти два объекта в командлет New-CMTSStepConditionIfStatement и сохраняет этот объект условия.

Затем он использует командлет Set-CMTSStepSetDynamicVariable , чтобы добавить этот объект условия на шаг Задать динамические переменные последовательности задач развертывания ОС по умолчанию .

$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* . Например, New-CMTSStepConditionFile.

Тип:IResultObject[]
Aliases:SubCondition, SubConditions
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Confirm

Перед запуском командлет запросит подтверждение.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DisableWildcardHandling

Этот параметр обрабатывает подстановочные знаки как литеральные символы. Вы не можете объединить его с ForceWildcardHandling.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ForceWildcardHandling

Этот параметр обрабатывает подстановочные знаки и может привести к непредвиденному поведению (не рекомендуется). Его нельзя объединить с DisableWildcardHandling.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-StatementType

Укажите тип создаваемого оператора if . Существует три типа проверок, которые можно выполнить с помощью этого условия:

  • Если All из условий верно
  • Если Any из условий верно
  • Если None из условий верно
Тип:ConditionStatementType
Aliases:Operator
Допустимые значения:All, Any, None
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет при запуске этого командлета. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None

Выходные данные

IResultObject

Примечания

Дополнительные сведения об этом возвращаемом объекте и его свойствах см . в разделе SMS_TaskSequence_ConditionOperator класса WMI сервера.