Condividi tramite


New-CMTSStepConditionIfStatement

Creare una condizione di istruzione if per un passaggio della sequenza di attività.

Sintassi

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

Descrizione

Usare questo cmdlet per creare un oggetto condizione dell'istruzione if per un passaggio della sequenza di attività. Usare quindi uno dei cmdlet New-CMTSStep* o Set-CMTSStep* con i parametri Condition o AddCondition . Ad esempio, Set-CMTSStepApplyDataImage.

Per altre informazioni, vedere Usare l'editor della sequenza di attività: Condizioni.

Nota

Eseguire i cmdlet di Configuration Manager dall'unità del sito di Configuration Manager, ad esempio PS XYZ:\>. Per altre informazioni, vedere Introduzione.

Esempio

Esempio 1

Questo esempio usa innanzitutto i cmdlet New-CMTSStepConditionFile e New-CMTSStepConditionQueryWMI per creare oggetti condizione figlio. Passa questi due oggetti al cmdlet New-CMTSStepConditionIfStatement e salva tale oggetto condizione.

Usa quindi il cmdlet Set-CMTSStepSetDynamicVariable per aggiungere questo oggetto condizione al passaggio Imposta variabili dinamiche della sequenza di attività di distribuzione del sistema operativo predefinito .

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

Parametri

-Condition

Specificare uno o più oggetti condizione da includere in questo blocco di istruzioni if . Per ottenere questi oggetti annidati, usare uno dei cmdlet New-CMTSStepCondition* . Ad esempio, New-CMTSStepConditionFile.

Tipo:IResultObject[]
Alias:SubCondition, SubConditions
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Confirm

Richiede la conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DisableWildcardHandling

Questo parametro considera i caratteri jolly come valori letterali. Non è possibile combinarlo con ForceWildcardHandling.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ForceWildcardHandling

Questo parametro elabora caratteri jolly e può causare un comportamento imprevisto (non consigliato). Non è possibile combinarlo con DisableWildcardHandling.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-StatementType

Specificare il tipo di istruzione if da creare. Esistono tre tipi di controlli che è possibile eseguire con questa condizione:

  • Se All le condizioni sono vere
  • Se Any le condizioni sono vere
  • Se None le condizioni sono vere
Tipo:ConditionStatementType
Alias:Operator
Valori accettati:All, Any, None
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra cosa accade se viene eseguito il cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

None

Output

IResultObject

Note

Per altre informazioni su questo oggetto restituito e sulle relative proprietà, vedere SMS_TaskSequence_ConditionOperator classe WMI del server.