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.