New-CMTSStepConditionIfStatement
建立工作順序步驟的 if 語句 條件。
語法
New-CMTSStepConditionIfStatement
[-Condition <IResultObject[]>]
-StatementType <ConditionStatementType>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
使用此 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 類別。