Set-CMTSStepRunPowerShellScript

Configure an instance of the Run PowerShell Script task sequence step.

Syntax

Set-CMTSStepRunPowerShellScript
   [-ExecutionPolicy <ExecutionPolicyType>]
   [-OutputVariableName <String>]
   [-PackageId <String>]
   [-Parameter <String>]
   [-ScriptName <String>]
   [-SourceScript <String>]
   [-SuccessCode <Int32[]>]
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-AddCondition <IResultObject[]>]
   [-ClearCondition]
   [-Description <String>]
   -InputObject <IResultObject>
   [-IsContinueOnError <Boolean>]
   [-IsEnabled <Boolean>]
   [-MoveToIndex <Int32>]
   [-NewStepName <String>]
   [-RemoveConditionFile]
   [-RemoveConditionFolder]
   [-RemoveConditionIfStatement]
   [-RemoveConditionOperatingSystem]
   [-RemoveConditionQueryWmi]
   [-RemoveConditionRegistry]
   [-RemoveConditionSoftware]
   [-RemoveConditionVariable]
   [-StepName <String>]
   [-StepOrder <ReorderType>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-ExecutionPolicy <ExecutionPolicyType>]
   [-OutputVariableName <String>]
   [-PackageId <String>]
   [-Parameter <String>]
   [-ScriptName <String>]
   [-SourceScript <String>]
   [-SuccessCode <Int32[]>]
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-AddCondition <IResultObject[]>]
   [-ClearCondition]
   [-Description <String>]
   [-IsContinueOnError <Boolean>]
   [-IsEnabled <Boolean>]
   [-MoveToIndex <Int32>]
   [-NewStepName <String>]
   [-RemoveConditionFile]
   [-RemoveConditionFolder]
   [-RemoveConditionIfStatement]
   [-RemoveConditionOperatingSystem]
   [-RemoveConditionQueryWmi]
   [-RemoveConditionRegistry]
   [-RemoveConditionSoftware]
   [-RemoveConditionVariable]
   [-StepName <String>]
   [-StepOrder <ReorderType>]
   -TaskSequenceId <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-ExecutionPolicy <ExecutionPolicyType>]
   [-OutputVariableName <String>]
   [-PackageId <String>]
   [-Parameter <String>]
   [-ScriptName <String>]
   [-SourceScript <String>]
   [-SuccessCode <Int32[]>]
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-AddCondition <IResultObject[]>]
   [-ClearCondition]
   [-Description <String>]
   [-IsContinueOnError <Boolean>]
   [-IsEnabled <Boolean>]
   [-MoveToIndex <Int32>]
   [-NewStepName <String>]
   [-RemoveConditionFile]
   [-RemoveConditionFolder]
   [-RemoveConditionIfStatement]
   [-RemoveConditionOperatingSystem]
   [-RemoveConditionQueryWmi]
   [-RemoveConditionRegistry]
   [-RemoveConditionSoftware]
   [-RemoveConditionVariable]
   [-StepName <String>]
   [-StepOrder <ReorderType>]
   -TaskSequenceName <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-Condition <IResultObject[]>]
   [-SetConditionIfStatement]
   [-StatementType <ConditionStatementType>]
   [-StepName <String>]
   -TaskSequenceId <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-Condition <IResultObject[]>]
   [-SetConditionIfStatement]
   [-StatementType <ConditionStatementType>]
   [-StepName <String>]
   -TaskSequenceName <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-Condition <IResultObject[]>]
   -InputObject <IResultObject>
   [-SetConditionIfStatement]
   [-StatementType <ConditionStatementType>]
   [-StepName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-ConditionVariableName <String>]
   [-ConditionVariableValue <String>]
   [-OperatorType <VariableOperatorType>]
   [-SetConditionVariable]
   [-StepName <String>]
   -TaskSequenceId <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-ConditionVariableName <String>]
   [-ConditionVariableValue <String>]
   [-OperatorType <VariableOperatorType>]
   [-SetConditionVariable]
   [-StepName <String>]
   -TaskSequenceName <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-ConditionVariableName <String>]
   [-ConditionVariableValue <String>]
   -InputObject <IResultObject>
   [-OperatorType <VariableOperatorType>]
   [-SetConditionVariable]
   [-StepName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-FileDateTimeOperator <VariableOperatorType>]
   [-FilePath <String>]
   [-FileTimestamp <DateTime>]
   [-FileVersion <String>]
   [-SetConditionFile]
   [-StepName <String>]
   -TaskSequenceId <String>
   [-VersionOperator <VariableOperatorType>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-FileDateTimeOperator <VariableOperatorType>]
   [-FilePath <String>]
   [-FileTimestamp <DateTime>]
   [-FileVersion <String>]
   [-SetConditionFile]
   [-StepName <String>]
   -TaskSequenceName <String>
   [-VersionOperator <VariableOperatorType>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-FileDateTimeOperator <VariableOperatorType>]
   [-FilePath <String>]
   [-FileTimestamp <DateTime>]
   [-FileVersion <String>]
   -InputObject <IResultObject>
   [-SetConditionFile]
   [-StepName <String>]
   [-VersionOperator <VariableOperatorType>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-FolderDateTimeOperator <VariableOperatorType>]
   [-FolderPath <String>]
   [-FolderTimestamp <DateTime>]
   [-SetConditionFolder]
   [-StepName <String>]
   -TaskSequenceId <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-FolderDateTimeOperator <VariableOperatorType>]
   [-FolderPath <String>]
   [-FolderTimestamp <DateTime>]
   [-SetConditionFolder]
   [-StepName <String>]
   -TaskSequenceName <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-FolderDateTimeOperator <VariableOperatorType>]
   [-FolderPath <String>]
   [-FolderTimestamp <DateTime>]
   -InputObject <IResultObject>
   [-SetConditionFolder]
   [-StepName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   -InputObject <IResultObject>
   [-Namespace <String[]>]
   [-Query <String>]
   [-SetConditionQueryWmi]
   [-StepName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   -InputObject <IResultObject>
   [-SetConditionOperatingSystem]
   [-StepName <String>]
   [-SupportedPlatform <IResultObject[]>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   -InputObject <IResultObject>
   [-RegistryKey <String>]
   [-RegistryOperator <VariableOperatorType>]
   [-RegistryValueData <String>]
   [-RegistryValueName <String>]
   [-RootKey <RegistryRootKeyType>]
   [-SetConditionRegistry]
   [-StepName <String>]
   [-ValueType <RegistryValueType>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   -InputObject <IResultObject>
   [-IsAnyVersion <Boolean>]
   [-MsiFilePath <String>]
   [-SetConditionSoftware]
   [-StepName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-IsAnyVersion <Boolean>]
   [-MsiFilePath <String>]
   [-SetConditionSoftware]
   [-StepName <String>]
   -TaskSequenceId <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-IsAnyVersion <Boolean>]
   [-MsiFilePath <String>]
   [-SetConditionSoftware]
   [-StepName <String>]
   -TaskSequenceName <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-Namespace <String[]>]
   [-Query <String>]
   [-SetConditionQueryWmi]
   [-StepName <String>]
   -TaskSequenceId <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-Namespace <String[]>]
   [-Query <String>]
   [-SetConditionQueryWmi]
   [-StepName <String>]
   -TaskSequenceName <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-RegistryKey <String>]
   [-RegistryOperator <VariableOperatorType>]
   [-RegistryValueData <String>]
   [-RegistryValueName <String>]
   [-RootKey <RegistryRootKeyType>]
   [-SetConditionRegistry]
   [-StepName <String>]
   -TaskSequenceId <String>
   [-ValueType <RegistryValueType>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-RegistryKey <String>]
   [-RegistryOperator <VariableOperatorType>]
   [-RegistryValueData <String>]
   [-RegistryValueName <String>]
   [-RootKey <RegistryRootKeyType>]
   [-SetConditionRegistry]
   [-StepName <String>]
   -TaskSequenceName <String>
   [-ValueType <RegistryValueType>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-SetConditionOperatingSystem]
   [-StepName <String>]
   [-SupportedPlatform <IResultObject[]>]
   -TaskSequenceId <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMTSStepRunPowerShellScript
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-SetConditionOperatingSystem]
   [-StepName <String>]
   [-SupportedPlatform <IResultObject[]>]
   -TaskSequenceName <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Use this cmdlet to configure an instance of the Run PowerShell Script task sequence step.

For more information on this step, see About task sequence steps: Run PowerShell Script.

Note

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

Examples

Example 1

This example changes the Run PowerShell Script step in the Default OS deployment task sequence to use the contents of an existing script file.

$tsNameOsd = "Default OS deployment"
$tsStepNameRunPwsh = "Run PowerShell Script"

$scriptFile = "C:\Users\janed\scripts\Add-ContosoBrand.ps1"
$content = [IO.File]::ReadAllText( $scriptFile )

Set-CMTSStepRunPowerShellScript -TaskSequenceName $tsNameOsd -StepName $tsStepNameRunPwsh -SourceScript $content

Parameters

-AddCondition

Specify a condition object to add to this step. To get this object, use one of the task sequence condition cmdlets. For example, Get-CMTSStepConditionVariable.

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

-ClearCondition

Remove a condition from this step. Use the -Condition parameter to specify the condition to remove.

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

-Condition

Specify a condition object to use with this step. To get this object, use one of the task sequence condition cmdlets. For example, Get-CMTSStepConditionVariable.

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

-ConditionVariableName

Specify the name of the task sequence variable to use as a condition.

Type:String
Aliases:Variable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConditionVariableValue

Specify the value of the task sequence variable to use in a condition.

Type:String
Aliases:Value
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

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

-Description

Specify an optional description for this task sequence step.

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

-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

-ExecutionPolicy

Specify the PowerShell execution policy for the scripts you allow to run on the computer. Choose one of the following policies:

  • AllSigned: Only run scripts signed by a trusted publisher.

  • Undefined: Don't define any execution policy.

  • Bypass: Load all configuration files and run all scripts. If you download an unsigned script from the internet, PowerShell doesn't prompt for permission before running the script.

Type:ExecutionPolicyType
Aliases:PowerShellExecutionPolicy
Accepted values:AllSigned, Undefined, Bypass
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FileDateTimeOperator

Specify a variable operator type for a file date/time condition.

Type:VariableOperatorType
Accepted values:Equals, NotEquals, Greater, GreaterEqual, Less, LessEqual
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FilePath

Specify the path for a file condition.

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

-FileTimestamp

Specify a date/time value to use for a file condition.

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

-FileVersion

Specify a version string for a file condition.

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

-FolderDateTimeOperator

Specify a variable operator for a folder date/time condition.

Type:VariableOperatorType
Accepted values:Equals, NotEquals, Greater, GreaterEqual, Less, LessEqual
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FolderPath

Specify the path for a folder condition.

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

-FolderTimestamp

Specify a date/time value to use for a folder condition.

Type:DateTime
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 object from which to get the Run PowerShell Script step. To get this object, use the Get-CMTaskSequence cmdlet.

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

-IsAnyVersion

Use this parameter with the SetConditionSoftware parameter to match any version of the product.

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

-IsContinueOnError

Use this parameter to enable the step option Continue on error. When you enable this option, if the step fails, the task sequence continues.

Type:Boolean
Aliases:IsThisStepContinueOnError
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IsEnabled

Use this parameter to enable this task sequence step.

Type:Boolean
Aliases:IsThisStepEnabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MoveToIndex

Move this step to the specified index position in the task sequence.

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

-MsiFilePath

Specify the path to a Windows Installer file for a software condition.

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

-Namespace

Specify the namespace for a WMI query condition.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NewStepName

Use this parameter to rename this task sequence step.

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

-OperatorType

Specify an operator to use with a task sequence variable condition.

Type:VariableOperatorType
Accepted values:Exists, NotExists, Equals, NotEquals, Greater, GreaterEqual, Less, LessEqual, Like, NotLike
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OutputVariableName

Specify the name of a custom task sequence variable. When you use this parameter, the step saves the last 1000 characters of the command output to the variable.

Type:String
Aliases:Output, OutputVariable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PackageId

Specify the package ID for the package that has the PowerShell script. The package doesn't require a program. One package can contain multiple scripts.

This value is a standard package ID, for example XYZ00821.

Then use the ScriptName parameter to specify the name of the script.

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

-Parameter

Specify the parameters passed to the PowerShell script. These parameters are the same as the PowerShell script parameters on the command line. Provide parameters consumed by the script, not for the PowerShell command line.

The following example contains valid parameters:

-MyParameter1 MyValue1 -MyParameter2 MyValue2

The following example contains invalid parameters. The first two items are PowerShell command-line parameters (NoLogo and ExecutionPolicy). The script doesn't consume these parameters.

-NoLogo -ExecutionPolicy Unrestricted -File MyScript.ps1 -MyParameter1 MyValue1 -MyParameter2 MyValue2

If a parameter value includes a special character or a space, use single quotation marks (') around the value. Using double quotation marks (") may cause the task sequence step to incorrectly process the parameter.

For example: -Arg1 '%TSVar1%' -Arg2 '%TSVar2%'

You can also set this parameter to a task sequence variable. For example, if you specify %MyScriptVariable%, when the task sequence runs the script, it adds the value of this custom variable to the PowerShell command line.

Type:String
Aliases:Parameters
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Query

Specify a WMI query string to use for a condition.

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

-RegistryKey

Specify the key to use with a registry condition.

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

-RegistryOperator

Specify an operator to use with a registry condition.

Type:VariableOperatorType
Accepted values:Exists, NotExists, Equals, NotEquals, Greater, GreaterEqual, Less, LessEqual
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RegistryValueData

Specify the value data to use with a registry condition.

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

-RegistryValueName

Specify the value name to use with a registry condition.

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

-RemoveConditionFile

Use this parameter to remove a file condition.

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

-RemoveConditionFolder

Use this parameter to remove a folder condition.

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

-RemoveConditionIfStatement

Use this parameter to remove an if statement condition.

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

-RemoveConditionOperatingSystem

Use this parameter to remove an OS condition.

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

-RemoveConditionQueryWmi

Use this parameter to remove a WMI query condition.

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

-RemoveConditionRegistry

Use this parameter to remove a registry condition.

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

-RemoveConditionSoftware

Use this parameter to remove a software condition.

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

-RemoveConditionVariable

Use this parameter to remove a task sequence variable condition.

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

-RootKey

Specify the root key to use with a registry condition.

Type:RegistryRootKeyType
Accepted values:HKeyCurrentUser, HKeyLocalMachine, HKeyUsers, HKeyCurrentConfig
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptName

Specify the name of the script to run. This script is in the package specified by the PackageId parameter.

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

-SetConditionFile

Add a new file condition.

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

-SetConditionFolder

Add a new folder condition.

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

-SetConditionIfStatement

Add a new if statement condition.

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

-SetConditionOperatingSystem

Add a new OS condition.

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

-SetConditionQueryWmi

Add a new WMI query condition.

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

-SetConditionRegistry

Add a new registry condition.

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

-SetConditionSoftware

Add a new software condition.

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

-SetConditionVariable

Add a new task sequence variable condition.

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

-SourceScript

Instead of using the PackageId and ScriptName parameters, use this parameter to directly specify the script commands. This string value is the PowerShell commands that this step runs.

You can read the contents of an existing script file into a string variable, and then use that variable for this parameter. For example:

$script = [IO.File]::ReadAllText( "C:\temp\script.ps1" )

Type:String
Aliases:SourceCode
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StatementType

Set the type for an if statement condition.

Type:ConditionStatementType
Aliases:Operator
Accepted values:All, Any, None
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StepName

Specify the name of the step to select for changes.

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

-StepOrder

Use this parameter to reorder the step in the task sequence.

Type:ReorderType
Accepted values:MoveUp, MoveDown, MoveToIndex
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SuccessCode

Specify an array of integer values as exit codes from the script that the step should evaluate as success.

Type:Int32[]
Aliases:SuccessCodes
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SupportedPlatform

Use this parameter to specify the platforms for an OS condition.

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

-TaskSequenceId

Specify the package ID of the task sequence from which to get the Run PowerShell Script step. This value is a standard package ID, for example XYZ00858.

Type:String
Aliases:Id, TaskSequencePackageId
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-TaskSequenceName

Specify the name of the task sequence to target for changes.

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

-TimeoutMins

Specify an integer value that represents how long Configuration Manager allows the script to run. This value can be from 1 minute to 999 minutes. The default value is 15 minutes.

If you enter a value that doesn't allow enough time for the specified script to complete successfully, this step fails. The entire task sequence could fail depending on step or group conditions. If the timeout expires, Configuration Manager terminates the PowerShell process.

Type:Int32
Aliases:TimeoutInMinutes
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserName

Use this parameter to run the script as a Windows user account and not the local system account. Specify the name of the Windows user account. To specify the account password, use the UserPassword parameter.

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

-UserPassword

Use this parameter to specify the password of the account that you specify with UserName.

Type:SecureString
Aliases:Password
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ValueType

Specify the type of value for a registry condition.

Type:RegistryValueType
Accepted values:RegistrySZ, RegistryExpandSZ, RegistryDWord
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VersionOperator

Specify an operator to use with a file condition.

Type:VariableOperatorType
Accepted values:Equals, NotEquals, Greater, GreaterEqual, Less, LessEqual
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet doesn't run.

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

-WorkingDirectory

Specify the folder in which the command starts. This path can be up to 127 characters.

Type:String
Aliases:StartIn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Outputs

System.Object