New-CMTSStepConditionIfStatement

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

Syntax

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

Type:IResultObject[]
Aliases:SubCondition, SubConditions
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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

-StatementType

指定要建立之 if 語句 的類型。 您可以使用此條件執行三種類型的檢查:

  • 如果 All 條件為 true
  • 如果 Any 條件為 true
  • 如果 None 條件為 true
Type:ConditionStatementType
Aliases:Operator
Accepted values:All, Any, None
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_ConditionOperator伺服器 WMI 類別