Compartilhar via


New-CMTSStepRunPowerShellScript

Crie o passo Executar Script do PowerShell numa sequência de tarefas.

Sintaxe

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 passo Executar Script do PowerShell . Em seguida, utilize o cmdlet Add-CMTaskSequenceStep para adicionar o passo a uma sequência de tarefas. Para obter mais informações sobre este passo, veja About task sequence steps: Run PowerShell Script (Sobre os passos da sequência de tarefas: Executar o Script do PowerShell).

Observação

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

Exemplos

Exemplo 1

Este exemplo cria primeiro um objeto para o passo Executar Script do PowerShell . Especifica o pacote com o nome do script a executar. Define a política de execução do PowerShell para o nível AllSigned mais seguro, o que requer que o script seja assinado digitalmente.

Em seguida, obtém um objeto de sequência de tarefas e adiciona este novo passo à 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 utilizar com este passo. Para obter este objeto, utilize um dos cmdlets da condição de sequência de tarefas. Por exemplo, Get-CMTSStepConditionVariable.

Tipo:IResultObject[]
Aliases:Conditions
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Confirm

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

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ContinueOnError

Adicione este parâmetro para ativar a opção de passo Continuar com o erro. Quando ativa esta opção, se o passo falhar, a sequência de tarefas continuará.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Description

Especifique uma descrição opcional para este passo de sequência de tarefas.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Disable

Adicione este parâmetro para desativar este passo de sequência de tarefas.

Tipo:SwitchParameter
Aliases:DisableThisStep
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DisableWildcardHandling

Este parâmetro trata os carateres universais como valores de carateres literais. Não pode combiná-lo com ForceWildcardHandling.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ExecutionPolicy

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

  • AllSigned: execute apenas scripts assinados por um fabricante fidedigno.

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

  • Bypass: carregue todos os ficheiros de configuração e execute todos os scripts. Se transferir um script não assinado a partir da Internet, o PowerShell não pede permissão antes de executar o script.

Tipo:ExecutionPolicyType
Aliases:PowerShellExecutionPolicy
Valores aceitos:AllSigned, Undefined, Bypass
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ForceWildcardHandling

Este parâmetro processa carateres universais e pode levar a um comportamento inesperado (não recomendado). Não pode combiná-lo com DisableWildcardHandling.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Name

Especifique um nome para este passo para identificá-lo na sequência de tarefas.

Tipo:String
Aliases:StepName
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-OutputVariableName

Especifique o nome de uma variável de sequência de tarefas personalizada. Quando utiliza este parâmetro, o passo guarda os últimos 1000 carateres da saída do comando na variável .

Tipo:String
Aliases:Output, OutputVariable
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PackageId

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

Este valor é um ID de pacote padrão, por exemplo XYZ00821.

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

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Parameter

Especifique os parâmetros transmitidos para o script do PowerShell. Estes parâmetros são os mesmos que os parâmetros de script do PowerShell na linha de comandos. Forneça parâmetros consumidos pelo script e não para a linha de comandos do PowerShell.

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

-MyParameter1 MyValue1 -MyParameter2 MyValue2

O exemplo seguinte contém parâmetros inválidos . Os dois primeiros itens são parâmetros da linha de comandos do PowerShell (NoLogo e ExecutionPolicy). O script não consome estes parâmetros.

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

Se um valor de parâmetro incluir um caráter especial ou um espaço, utilize plicas (') à volta do valor. A utilização de aspas duplas (") pode fazer com que o passo de sequência de tarefas processe incorretamente o parâmetro.

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

Também pode definir este parâmetro para uma variável de sequência de tarefas. Por exemplo, se especificar %MyScriptVariable%, quando a sequência de tarefas executa o script, adiciona o valor desta variável personalizada à linha de comandos do PowerShell.

Tipo:String
Aliases:Parameters
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ScriptName

Especifique o nome do script a executar. Este script está no pacote especificado pelo parâmetro PackageId .

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SourceScript

Em vez de utilizar os parâmetros PackageId e ScriptName , utilize este parâmetro para especificar diretamente os comandos de script. Este valor de cadeia é os comandos do PowerShell que este passo executa.

Pode ler o conteúdo de um ficheiro de script existente numa variável de cadeia e, em seguida, utilizar essa variável para este parâmetro. Por exemplo:

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

Tipo:String
Aliases:SourceCode
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SuccessCode

Especifique uma matriz de valores inteiros como códigos de saída do script que o passo deve avaliar como bem-sucedido.

Tipo:Int32[]
Aliases:SuccessCodes
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-TimeoutMins

Especifique um valor inteiro que represente durante quanto tempo o Configuration Manager permite a execução do script. Este valor pode ser de 1 minuto a 999 minuto. O valor predefinido é 15 minutos.

Se introduzir um valor que não permita tempo suficiente para que o script especificado seja concluído com êxito, este passo falhará. Toda a sequência de tarefas pode falhar consoante as condições do passo ou do grupo. Se o tempo limite expirar, o Configuration Manager terminará o processo do PowerShell.

Tipo:Int32
Aliases:TimeoutInMinutes
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-UserName

Utilize este parâmetro para executar o script como uma conta de utilizador do Windows e não como a conta do sistema local. Especifique o nome da conta de utilizador do Windows. Para especificar a palavra-passe da conta, utilize o parâmetro UserPassword .

Tipo:String
Aliases:User
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-UserPassword

Utilize este parâmetro para especificar a palavra-passe da conta que especificar com UserName.

Tipo:SecureString
Aliases:Password
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

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

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WorkingDirectory

Especifique a pasta na qual o comando é iniciado. Este caminho pode ter até 127 carateres.

Tipo:String
Aliases:StartIn
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

None

Saídas

IResultObject

Observações

Para obter mais informações sobre este objeto de retorno e as respetivas propriedades, veja SMS_TaskSequence_RunPowerShellScriptAction classe WMI de servidor.