New-CMTSStepRunPowerShellScript

Crie a etapa Executar Script do PowerShell em uma sequência de tarefas.

Syntax

New-CMTSStepRunPowerShellScript
   -Name <String>
   [-SuccessCode <Int32[]>]
   [-Condition <IResultObject[]>]
   [-ContinueOnError]
   [-Description <String>]
   [-Disable]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMTSStepRunPowerShellScript
   [-ExecutionPolicy <ExecutionPolicyType>]
   -Name <String>
   [-OutputVariableName <String>]
   [-Parameter <String>]
   -SourceScript <String>
   [-SuccessCode <Int32[]>]
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-Condition <IResultObject[]>]
   [-ContinueOnError]
   [-Description <String>]
   [-Disable]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMTSStepRunPowerShellScript
   [-ExecutionPolicy <ExecutionPolicyType>]
   -Name <String>
   [-OutputVariableName <String>]
   -PackageId <String>
   [-Parameter <String>]
   -ScriptName <String>
   [-SuccessCode <Int32[]>]
   [-TimeoutMins <Int32>]
   [-UserName <String>]
   [-UserPassword <SecureString>]
   [-WorkingDirectory <String>]
   [-Condition <IResultObject[]>]
   [-ContinueOnError]
   [-Description <String>]
   [-Disable]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Este cmdlet cria um novo objeto de etapa Executar Script do PowerShell . Em seguida, use o cmdlet Add-CMTaskSequenceStep para adicionar a etapa a uma sequência de tarefas. Para obter mais informações sobre esta etapa, confira Sobre as etapas da sequência de tarefas: Executar o Script do PowerShell.

Observação

Execute Configuration Manager cmdlets da unidade do site Configuration Manager, por exemplo PS XYZ:\>. Para obter mais informações, confira introdução.

Exemplos

Exemplo 1

Este exemplo cria primeiro um objeto para a etapa Executar Script do PowerShell . Ele especifica o pacote com o nome do script a ser executado. Ele define a política de execução do PowerShell como o nível AllSigned mais seguro, o que exige que o script seja assinado digitalmente.

Em seguida, ele obtém um objeto de sequência de tarefas e adiciona essa nova etapa à sequência de tarefas no índice 11.

$step = New-CMTSStepRunPowerShellScript -Name "Run PowerShell Script" -PackageId "XYZ00821" -ScriptName "Add-ContosoBranding.ps1" -ExecutionPolicy AllSigned 

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

$tsOsd | Add-CMTaskSequenceStep -Step $step -InsertStepStartIndex 11

Parâmetros

-Condition

Especifique um objeto de condição a ser usado com esta etapa. Para obter esse objeto, use um dos cmdlets da condição de sequência de tarefas. Por exemplo, Get-CMTSStepConditionVariable.

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

-Confirm

Solicita a confirmação antes de executar o cmdlet.

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

-ContinueOnError

Adicione esse parâmetro para habilitar a opção de etapa Continuar no erro. Quando você habilita essa opção, se a etapa falhar, a sequência de tarefas continuará.

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

-Description

Especifique uma descrição opcional para esta etapa de sequência de tarefas.

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

-Disable

Adicione esse parâmetro para desabilitar essa etapa de sequência de tarefas.

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

-DisableWildcardHandling

Esse parâmetro trata caracteres curinga como valores de caractere literal. Você não pode combiná-lo com ForceWildcardHandling.

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

-ExecutionPolicy

Especifique a política de execução do PowerShell para os scripts que você permite executar no computador. Escolha uma das seguintes políticas:

  • AllSigned: execute somente scripts assinados por um editor confiável.

  • Undefined: não defina nenhuma política de execução.

  • Bypass: carregue todos os arquivos de configuração e execute todos os scripts. Se você baixar um script não assinado da Internet, o PowerShell não solicitará permissão antes de executar o 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

-ForceWildcardHandling

Esse parâmetro processa caracteres curinga e pode levar a um comportamento inesperado (não recomendado). Você não pode combiná-lo com DisableWildcardHandling.

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

-Name

Especifique um nome para esta etapa para identificá-lo na sequência de tarefas.

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

-OutputVariableName

Especifique o nome de uma variável de sequência de tarefas personalizada. Quando você usa esse parâmetro, a etapa salva os últimos 1000 caracteres da saída de comando para a variável.

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

-PackageId

Especifique a ID do pacote para o pacote que tem o script do PowerShell. O pacote não requer um programa. Um pacote pode conter vários scripts.

Esse valor é uma ID de pacote padrão, por exemplo XYZ00821.

Em seguida, use o parâmetro ScriptName para especificar o nome do script.

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

-Parameter

Especifique os parâmetros passados para o script do PowerShell. Esses parâmetros são os mesmos que os parâmetros de script do PowerShell na linha de comando. Forneça parâmetros consumidos pelo script, não para a linha de comando do PowerShell.

O exemplo a seguir contém parâmetros válidos :

-MyParameter1 MyValue1 -MyParameter2 MyValue2

O exemplo a seguir contém parâmetros inválidos . Os dois primeiros itens são parâmetros de linha de comando do PowerShell (NoLogo e ExecutionPolicy). O script não consome esses parâmetros.

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

Se um valor de parâmetro incluir um caractere especial ou um espaço, use aspas individuais (') em torno do valor. O uso de aspas duplas (") pode fazer com que a etapa da sequência de tarefas processe incorretamente o parâmetro.

Por exemplo: -Arg1 '%TSVar1%' -Arg2 '%TSVar2%'

Você também pode definir esse parâmetro como uma variável de sequência de tarefas. Por exemplo, se você especificar %MyScriptVariable%, quando a sequência de tarefas executa o script, ela adiciona o valor dessa variável personalizada à linha de comando do PowerShell.

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

-ScriptName

Especifique o nome do script a ser executado. Esse script está no pacote especificado pelo parâmetro PackageId .

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

-SourceScript

Em vez de usar os parâmetros PackageId e ScriptName , use esse parâmetro para especificar diretamente os comandos de script. Esse valor de cadeia de caracteres são os comandos do PowerShell executados nesta etapa.

Você pode ler o conteúdo de um arquivo de script existente em uma variável de cadeia de caracteres e, em seguida, usar essa variável para este parâmetro. Por exemplo:

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

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

-SuccessCode

Especifique uma matriz de valores inteiros como códigos de saída do script que a etapa deve avaliar como êxito.

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

-TimeoutMins

Especifique um valor inteiro que representa quanto tempo Configuration Manager permite que o script seja executado. Esse valor pode ser de 1 minuto a 999 minutos. O valor padrão é 15 minutos.

Se você inserir um valor que não permite tempo suficiente para que o script especificado seja concluído com êxito, essa etapa falhará. Toda a sequência de tarefas pode falhar dependendo das condições de etapa ou de grupo. Se o tempo limite expirar, Configuration Manager encerrará o processo do PowerShell.

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

-UserName

Use esse parâmetro para executar o script como uma conta de usuário do Windows e não a conta do sistema local. Especifique o nome da conta de usuário do Windows. Para especificar a senha da conta, use o parâmetro UserPassword .

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

-UserPassword

Use esse parâmetro para especificar a senha da conta especificada com UserName.

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

-WhatIf

Mostrar o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

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

-WorkingDirectory

Especifique a pasta na qual o comando é iniciado. Esse caminho pode ter até 127 caracteres.

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

Entradas

None

Saídas

IResultObject

Observações

Para obter mais informações sobre esse objeto retornado e suas propriedades, consulte SMS_TaskSequence_RunPowerShellScriptAction classe WMI do servidor.