共用方式為


New-CMTSStepConditionIfStatement

建立工作順序步驟的 if 語句 條件。

語法

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

Description

使用此 Cmdlet 建立工作順序步驟的 if 語句 條件物件。 然後使用其中一 個 New-CMTSStep*Set-CMTSStep* Cmdlet 搭配 ConditionAddCondition 參数。 例如, Set-CMTSStepApplyDataImage

如需詳細資訊,請 參閱使用工作順序編輯器:條件

注意事項

從 Configuration Manager 月臺磁碟驅動器執行 Configuration Manager Cmdlet,例如 PS XYZ:\>。 如需詳細資訊,請 參閱開始使用

範例

範例 1

此範例會先使用 New-CMTSStepConditionFileNew-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 類別