New-CMTSStepConditionIfStatement

タスク シーケンス ステップの if ステートメント 条件を作成します。

構文

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

説明

このコマンドレットを使用して、タスク シーケンス ステップの if ステートメント 条件オブジェクトを作成します。 次に、Condition パラメーターまたは AddCondition パラメーターを使用して、New-CMTSStep* コマンドレットまたは Set-CMTSStep* コマンドレットのいずれかを使用します。 たとえば、 Set-CMTSStepApplyDataImage です

詳細については、「 タスク シーケンス エディターの使用: 条件」を参照してください。

注:

PS XYZ:\>など、Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します。 詳細については、「作業の 開始」を参照してください。

例 1

この例では、最初に New-CMTSStepConditionFile コマンドレットと New-CMTSStepConditionQueryWMI コマンドレットを使用して、子条件オブジェクトを作成します。 この 2 つのオブジェクトを New-CMTSStepConditionIfStatement コマンドレットに渡し、その条件オブジェクトを保存します。

次に、Set-CMTSStepSetDynamicVariable コマンドレットを使用して、この条件オブジェクトを既定の 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 ステートメント ブロックに含める条件オブジェクトを 1 つ以上指定します。 これらの入れ子になったオブジェクトを取得するには、 New-CMTSStepCondition* コマンドレットのいずれかを使用します。 たとえば、 New-CMTSStepConditionFile です

型:IResultObject[]
Aliases:SubCondition, SubConditions
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Confirm

コマンドレットを実行する前に確認メッセージを表示します。

型:SwitchParameter
Aliases:cf
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DisableWildcardHandling

このパラメーターは、ワイルドカード文字をリテラル文字の値として扱います。 ForceWildcardHandling と組み合わせることはできません。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ForceWildcardHandling

このパラメーターはワイルドカード文字を処理し、予期しない動作が発生する可能性があります (推奨されません)。 DisableWildcardHandling と組み合わせることはできません。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-StatementType

作成する if ステートメント の型を指定します。 この条件で実行できるチェックには、次の 3 種類があります。

  • 条件の All が true の場合
  • 条件の Any が true の場合
  • 条件の None が true の場合
型:ConditionStatementType
Aliases:Operator
指定可能な値:All, Any, None
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットが実行されるとどうなるかを示します。 コマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

None

出力

IResultObject

メモ

この戻りオブジェクトとそのプロパティの詳細については、「 サーバー WMI クラスSMS_TaskSequence_ConditionOperator」を参照してください。