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.
Links Relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de