New-CMTSStepConditionIfStatement

Erstellen Sie eine if-Anweisungsbedingung für einen Tasksequenzschritt.

Syntax

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

Beschreibung

Verwenden Sie dieses Cmdlet, um ein if-Anweisungsbedingungsobjekt für einen Tasksequenzschritt zu erstellen. Verwenden Sie dann eines der Cmdlets New-CMTSStep* oder Set-CMTSStep* mit den Parametern Condition oder AddCondition . Beispiel: Set-CMTSStepApplyDataImage.

Weitere Informationen finden Sie unter Verwenden des Tasksequenz-Editors: Bedingungen.

Hinweis

Führen Sie Configuration Manager-Cmdlets auf dem Configuration Manager-Standortlaufwerk aus, z. B PS XYZ:\>. . Weitere Informationen finden Sie unter Erste Schritte.

Beispiele

Beispiel 1

In diesem Beispiel werden zunächst die Cmdlets New-CMTSStepConditionFile und New-CMTSStepConditionQueryWMI verwendet, um untergeordnete Bedingungsobjekte zu erstellen. Es übergibt diese beiden Objekte an das Cmdlet New-CMTSStepConditionIfStatement und speichert dieses Bedingungsobjekt.

Anschließend wird das Cmdlet Set-CMTSStepSetDynamicVariable verwendet, um dieses Bedingungsobjekt dem Schritt Dynamische Variablen festlegen der Tasksequenz Standardbetriebssystembereitstellung hinzuzufügen.

$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"

Parameter

-Condition

Geben Sie mindestens ein Bedingungsobjekt an, das in diesen if-Anweisungsblock eingeschlossen werden soll. Verwenden Sie zum Abrufen dieser geschachtelten Objekte eines der Cmdlets New-CMTSStepCondition* . Beispiel: New-CMTSStepConditionFile.

Typ:IResultObject[]
Aliase:SubCondition, SubConditions
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DisableWildcardHandling

Dieser Parameter behandelt Wildcardzeichen als Literalzeichenwerte. Sie können es nicht mit ForceWildcardHandling kombinieren.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ForceWildcardHandling

Dieser Parameter verarbeitet Wildcardzeichen und kann zu unerwartetem Verhalten führen (nicht empfohlen). Sie können es nicht mit DisableWildcardHandling kombinieren.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-StatementType

Geben Sie den Typ der zu erstellenden if-Anweisung an. Es gibt drei Arten von Überprüfungen, die Sie mit dieser Bedingung durchführen können:

  • Wenn All der Bedingungen erfüllt sind
  • Wenn Any der Bedingungen erfüllt sind
  • Wenn None der Bedingungen erfüllt sind
Typ:ConditionStatementType
Aliase:Operator
Zulässige Werte:All, Any, None
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was passieren würde, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

None

Ausgaben

IResultObject

Hinweise

Weitere Informationen zu diesem Rückgabeobjekt und seinen Eigenschaften finden Sie unter SMS_TaskSequence_ConditionOperator WMI-Serverklasse.