New-CMTSStepRunPowerShellScript
Cree el paso Ejecutar script de PowerShell en una secuencia de tareas.
Sintaxis
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 crea un nuevo objeto de paso Ejecutar script de PowerShell . A continuación, use el cmdlet Add-CMTaskSequenceStep para agregar el paso a una secuencia de tareas. Para obtener más información sobre este paso, vea Acerca de los pasos de secuencia de tareas: Ejecutar script de PowerShell.
Nota:
Ejecute cmdlets de Configuration Manager desde la unidad de sitio de Configuration Manager, por ejemplo PS XYZ:\>
. Para obtener más información, consulte Introducción.
Ejemplos
Ejemplo 1
En este ejemplo se crea primero un objeto para el paso Ejecutar script de PowerShell . Especifica el paquete con el nombre del script que se va a ejecutar. Establece la directiva de ejecución de PowerShell en el nivel AllSigned más seguro, lo que requiere que el script se firme digitalmente.
A continuación, obtiene un objeto de secuencia de tareas y agrega este nuevo paso a la secuencia de tareas en el í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 un objeto de condición que se usará con este paso. Para obtener este objeto, use uno de los cmdlets de condición de secuencia de tareas. Por ejemplo, Get-CMTSStepConditionVariable.
Tipo: | IResultObject[] |
Alias: | Conditions |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Confirm
Solicitará confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ContinueOnError
Agregue este parámetro para habilitar la opción de paso Continuar en caso de error. Al habilitar esta opción, si se produce un error en el paso, la secuencia de tareas continúa.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Description
Especifique una descripción opcional para este paso de secuencia de tareas.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Disable
Agregue este parámetro para deshabilitar este paso de secuencia de tareas.
Tipo: | SwitchParameter |
Alias: | DisableThisStep |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DisableWildcardHandling
Este parámetro trata los caracteres comodín como valores de caracteres literales. No se puede combinar con ForceWildcardHandling.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ExecutionPolicy
Especifique la directiva de ejecución de PowerShell para los scripts que permite ejecutar en el equipo. Elija una de las directivas siguientes:
AllSigned
: ejecute solo scripts firmados por un publicador de confianza.Undefined
: no defina ninguna directiva de ejecución.Bypass
: cargue todos los archivos de configuración y ejecute todos los scripts. Si descarga un script sin firmar desde Internet, PowerShell no solicitará permiso antes de ejecutar el script.
Tipo: | ExecutionPolicyType |
Alias: | PowerShellExecutionPolicy |
Valores aceptados: | AllSigned, Undefined, Bypass |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ForceWildcardHandling
Este parámetro procesa caracteres comodín y puede provocar un comportamiento inesperado (no recomendado). No se puede combinar con DisableWildcardHandling.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Name
Especifique un nombre para este paso para identificarlo en la secuencia de tareas.
Tipo: | String |
Alias: | StepName |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-OutputVariableName
Especifique el nombre de una variable de secuencia de tareas personalizada. Cuando se usa este parámetro, el paso guarda los últimos 1000 caracteres de la salida del comando en la variable.
Tipo: | String |
Alias: | Output, OutputVariable |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-PackageId
Especifique el identificador del paquete que tiene el script de PowerShell. El paquete no requiere un programa. Un paquete puede contener varios scripts.
Este valor es un identificador de paquete estándar, por ejemplo XYZ00821
.
A continuación, use el parámetro ScriptName para especificar el nombre del script.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Parameter
Especifique los parámetros pasados al script de PowerShell. Estos parámetros son los mismos que los parámetros de script de PowerShell en la línea de comandos. Proporcione los parámetros consumidos por el script, no para la línea de comandos de PowerShell.
El ejemplo siguiente contiene parámetros válidos :
-MyParameter1 MyValue1 -MyParameter2 MyValue2
El ejemplo siguiente contiene parámetros no válidos . Los dos primeros elementos son parámetros de línea de comandos de PowerShell (NoLogo y ExecutionPolicy). El script no consume estos parámetros.
-NoLogo -ExecutionPolicy Unrestricted -File MyScript.ps1 -MyParameter1 MyValue1 -MyParameter2 MyValue2
Si un valor de parámetro incluye un carácter especial o un espacio, use comillas simples ('
) alrededor del valor. El uso de comillas dobles ("
) puede hacer que el paso de secuencia de tareas procese incorrectamente el parámetro.
Por ejemplo: -Arg1 '%TSVar1%' -Arg2 '%TSVar2%'
También puede establecer este parámetro en una variable de secuencia de tareas. Por ejemplo, si especifica %MyScriptVariable%
, cuando la secuencia de tareas ejecuta el script, agrega el valor de esta variable personalizada a la línea de comandos de PowerShell.
Tipo: | String |
Alias: | Parameters |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ScriptName
Especifique el nombre del script que se va a ejecutar. Este script está en el paquete especificado por el parámetro PackageId .
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-SourceScript
En lugar de usar los parámetros PackageId y ScriptName , use este parámetro para especificar directamente los comandos de script. Este valor de cadena son los comandos de PowerShell que ejecuta este paso.
Puede leer el contenido de un archivo de script existente en una variable de cadena y, a continuación, usar esa variable para este parámetro. Por ejemplo:
$script = [IO.File]::ReadAllText( "C:\temp\script.ps1" )
Tipo: | String |
Alias: | SourceCode |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-SuccessCode
Especifique una matriz de valores enteros como códigos de salida del script que el paso debe evaluar como correcto.
Tipo: | Int32[] |
Alias: | SuccessCodes |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-TimeoutMins
Especifique un valor entero que represente cuánto tiempo Configuration Manager permite que se ejecute el script. Este valor puede ser de 1
minutos a 999
minutos. El valor predeterminado es 15
minutos.
Si escribe un valor que no permite tiempo suficiente para que el script especificado se complete correctamente, se produce un error en este paso. La secuencia de tareas completa podría producir un error en función de las condiciones de paso o grupo. Si el tiempo de espera expira, Configuration Manager finaliza el proceso de PowerShell.
Tipo: | Int32 |
Alias: | TimeoutInMinutes |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-UserName
Use este parámetro para ejecutar el script como una cuenta de usuario de Windows y no como la cuenta del sistema local. Especifique el nombre de la cuenta de usuario de Windows. Para especificar la contraseña de la cuenta, use el parámetro UserPassword .
Tipo: | String |
Alias: | User |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-UserPassword
Use este parámetro para especificar la contraseña de la cuenta que especifique con UserName.
Tipo: | SecureString |
Alias: | Password |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que ocurriría si se ejecuta el cmdlet. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WorkingDirectory
Especifique la carpeta en la que se inicia el comando. Esta ruta de acceso puede tener hasta 127 caracteres.
Tipo: | String |
Alias: | StartIn |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
None
Salidas
IResultObject
Notas
Para obtener más información sobre este objeto devuelto y sus propiedades, vea SMS_TaskSequence_RunPowerShellScriptAction clase WMI de servidor.