Get-CMTSStepConditionQueryWmi

Get a WMI query condition from a task sequence step.

Syntax

Get-CMTSStepConditionQueryWmi
   -InputObject <IResultObject>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]

Description

Use this cmdlet to get a WMI query condition object from a task sequence step. You can use this object to:

  • View the details of the condition on the step.
  • Copy the condition to another task sequence step.

When you use the New-CMTSStep* or Set-CMTSStep* cmdlets, provide this condition object with the Condition or AddCondition parameters. For example, Set-CMTSStepApplyDataImage.

For more information, see Use the task sequence editor: Conditions.

This cmdlet also returns the following types of conditions:

  • OS language
  • OS version and architecture

Note

Run Configuration Manager cmdlets from the Configuration Manager site drive, for example PS XYZ:\>. For more information, see getting started.

Examples

Example 1: View the details of a WMI query condition

This example first gets the Default OS deployment task sequence, then gets the Set Dynamic Variables step. It passes the task sequence step object to this cmdlet to view the condition details.

$tsNameOsd = "Default OS deployment"
$tsOsd = Get-CMTaskSequence -Name $tsNameOsd -Fast

$tsStepNameDynVar = "Set Dynamic Variables"
$tsStepDynVar = Get-CMTSStepSetDynamicVariable -InputObject $tsOsd -StepName $tsStepNameDynVar

Get-CMTSStepConditionQueryWmi -InputObject $tsStepDynVar

SmsProviderObjectPath : SMS_TaskSequence_WMIConditionExpression
Namespace             : root\cimv2
Query                 : SELECT OsLanguage FROM Win32_OperatingSystem WHERE OsLanguage='2108'

Example 2: Copy a condition to another step

This example first gets the Default OS deployment task sequence, then gets the Set Dynamic Variables step. It passes the task sequence step object to this cmdlet and saves the object in the $condition variable.

It then uses the Set-CMTSStepSetVariable cmdlet with the AddCondition parameter to add this same condition to the Set Task Sequence Variable step.

$tsNameOsd = "Default OS deployment"
$tsOsd = Get-CMTaskSequence -Name $tsNameOsd -Fast

$tsStepNameDynVar = "Set Dynamic Variables"
$tsStepDynVar = Get-CMTSStepSetDynamicVariable -InputObject $tsOsd -StepName $tsStepNameDynVar

$condition = Get-CMTSStepConditionQueryWmi -InputObject $tsStepDynVar

$tsStepNameSetTSVar = "Set Task Sequence Variable"

Set-CMTSStepSetVariable -TaskSequenceName $tsNameOsd -StepName $tsStepNameSetTSVar -AddCondition $condition

Parameters

-DisableWildcardHandling

This parameter treats wildcard characters as literal character values. You can't combine it with ForceWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

This parameter processes wildcard characters and may lead to unexpected behavior (not recommended). You can't combine it with DisableWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Specify a task sequence step object with a WMI query condition. To get this object, use one of the Get-CMTSStep cmdlets. For example, Get-CMTSStepApplyDataImage.

Type:IResultObject
Aliases:TaskSequenceStep
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Inputs

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Outputs

IResultObject[]

IResultObject

Notes

For more information on this return object and its properties, see SMS_TaskSequence_WMIConditionExpression server WMI class.