Compartir a través de


Set-ScheduledJobOption

Cambia las opciones de trabajo de un trabajo programado.

Syntax

Set-ScheduledJobOption
   [-InputObject] <ScheduledJobOptions>
   [-PassThru]
   [-RunElevated]
   [-HideInTaskScheduler]
   [-RestartOnIdleResume]
   [-MultipleInstancePolicy <TaskMultipleInstancePolicy>]
   [-DoNotAllowDemandStart]
   [-RequireNetwork]
   [-StopIfGoingOffIdle]
   [-WakeToRun]
   [-ContinueIfGoingOnBattery]
   [-StartIfOnBattery]
   [-IdleTimeout <TimeSpan>]
   [-IdleDuration <TimeSpan>]
   [-StartIfIdle]
   [<CommonParameters>]

Description

El Set-ScheduledJobOptions cmdlet cambia las opciones de trabajo de los trabajos programados.

Para cambiar las opciones de un trabajo programado, empiece por usar el Get-ScheduledJobOption cmdlet para obtener las opciones de trabajo de un trabajo programado. A continuación, canalice las opciones a Set-ScheduledJobOption o guarde las opciones en una variable y use el parámetro InputObject del Set-ScheduledJobOption cmdlet para identificar las opciones. Use los parámetros restantes de Set-ScheduledJobOption para cambiar las opciones de trabajo.

Para activar una opción de trabajo, use el parámetro que establece esa opción. Para desactivar una opción, escriba el nombre del parámetro, dos puntos (:) y $false. Por ejemplo, para desactivar la opción RunElevated , escriba -RunElevated:$false.

Cada objeto de opciones de trabajo incluye una propiedad JobDefinition que contiene el trabajo programado, por lo que la asociación con el trabajo programado se conserva cuando se cambian las opciones de trabajo.

Las opciones de trabajos programados determinan cómo se ejecuta el trabajo cuando se inicia el Programador de tareas. Estas opciones no se aplican cuando se usa el Start-Job cmdlet para iniciar un trabajo programado.

Set-ScheduledJobOption es una de una colección de cmdlets de programación de trabajos en el módulo PSScheduledJob que se incluye en Windows PowerShell.

Para más información sobre los trabajos programados, vea los temas Acerca de en el módulo PSScheduledJob. Importe el módulo PSScheduledJob y escriba: Get-Help about_Scheduled* o vea about_Scheduled_Jobs.

Este cmdlet se introdujo en Windows PowerShell 3.0.

Ejemplos

Ejemplo 1: Cambiar las opciones de trabajo

Get-ScheduledJobOption -Name "DeployPackage"

StartIfOnBatteries     : False
StopIfGoingOnBatteries : True
WakeToRun              : False
StartIfNotIdle         : True
StopIfGoingOffIdle     : False
RestartOnIdleResume    : False
IdleDuration           : 00:10:00
IdleTimeout            : 01:00:00
ShowInTaskScheduler    : True
RunElevated            : False
RunWithoutNetwork      : False
DoNotAllowDemandStart  : False
MultipleInstancePolicy : IgnoreNew
JobDefinition          :

Get-ScheduledJobOption -Name "DeployPackage" |
    Set-ScheduledJobOption -WakeToRun -RequireNetwork:$false -Passthru

StartIfOnBatteries     : False
StopIfGoingOnBatteries : True
WakeToRun              : True
StartIfNotIdle         : True
StopIfGoingOffIdle     : False
RestartOnIdleResume    : False
IdleDuration           : 00:10:00
IdleTimeout            : 01:00:00
ShowInTaskScheduler    : True
RunElevated            : False
RunWithoutNetwork      : True
DoNotAllowDemandStart  : False
MultipleInstancePolicy : IgnoreNewJobDefinition          :

Este ejemplo muestra cómo cambiar las opciones de un trabajo programado en el equipo local.

El primer comando usa el Get-ScheduledJobOption cmdlet para obtener las opciones de trabajo del trabajo programado DeployPackage. La salida muestra que las propiedades WakeToRun y RunElevated se establecen en $false.

El segundo comando usa el Set-ScheduledJobOpton cmdlet para cambiar las opciones de trabajo, por lo que los valores de las propiedades WakeToRun y RunWithoutNetwork se $True. El comando usa el parámetro Passthru para devolver el desencadenador después del cambio.

Este comando no es necesario; se incluye solo para mostrar el efecto del cambio de opción.

Ejemplo 2: Cambiar una opción en todos los trabajos programados remotos

Invoke-Command -Computer "Server01" -ScriptBlock {
    Get-ScheduledJob |
        Get-ScheduledJobOption |
        Set-ScheduledJobOption -IdleTimeout 2:00:00
}

Este comando cambia el valor de IdleTimeout de una hora (el valor predeterminado) a dos horas en todos los trabajos programados del equipo Server01.

El comando usa el Invoke-Command cmdlet para ejecutar un comando en el equipo Server01.

El comando remoto comienza con un Get-ScheduledJob comando que obtiene todos los trabajos programados en el equipo. Los trabajos programados se canalizan al Get-ScheduledJobOption cmdlet , que obtiene las opciones de trabajo de los trabajos programados. Cada objeto de opciones de trabajo contiene una propiedad JobDefinition que contiene el trabajo programado, por lo que el objeto options permanece asociado al trabajo programado incluso cuando se cambia.

Los desencadenadores de trabajo se canalizan al Set-ScheduledJobOption cmdlet , que cambia el valor de la opción IdleTimeout a dos horas (2:00:00).

Parámetros

-ContinueIfGoingOnBattery

No detenga el trabajo programado si el equipo cambia a la energía de la batería (se desconecta de corriente alterna) mientras se ejecuta el trabajo. De forma predeterminada, los trabajos programados se detienen cuando el equipo se desconecta de la corriente alterna.

El parámetro ContinueIfGoingOnBattery establece el valor de la propiedad StopIfGoingOnBatteries de los trabajos programados en $true.

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

-DoNotAllowDemandStart

Inicie el trabajo solo cuando se haya desencadenado. Los usuarios no pueden iniciar el trabajo manualmente, como con la característica Ejecutar del Programador de tareas.

Este parámetro solo afecta al Programador de tareas. No impide que los usuarios usen el Start-Job cmdlet para iniciar el trabajo.

El parámetro DoNotAllowDemandStart establece el valor de la propiedad DoNotAllowDemandStart de los trabajos programados en $true.

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

-HideInTaskScheduler

El trabajo no se muestra en el Programador de tareas. Este valor solo afecta al equipo en el que se ejecuta el trabajo. De forma predeterminada, las tareas programadas aparecen en el Programador de tareas.

Incluso si una tarea está oculta, los usuarios pueden mostrar la tarea seleccionando la opción Mostrar vista tareas ocultas en el Programador de tareas .

El parámetro HideInTaskScheduler establece el valor de la propiedad ShowInTaskScheduler de los trabajos programados en $false.

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

-IdleDuration

Especifica cuánto tiempo el equipo debe estar inactivo antes de que el trabajo se inicie. El valor predeterminado es 10 minutos. Si el equipo no está inactivo durante la duración especificada antes de que expire el valor de IdleTimeout , el trabajo programado no se ejecuta hasta la próxima hora programada, si existe.

Escriba un objeto de intervalo de tiempo, como uno generado por el New-TimeSpan cmdlet, o escriba un valor en <hours>:<minutes>:<seconds> formato que se convierta automáticamente en un objeto TimeSpan .

Para habilitar este valor, use el parámetro StartIfIdle . De forma predeterminada, la propiedad StartIfNotIdle de los trabajos programados se establece $true en y Windows PowerShell omite los valores IdleDuration e IdleTimeout .

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

-IdleTimeout

Especifica cuánto tiempo el equipo debe estar inactivo antes de que el trabajo se inicie. El valor predeterminado es 10 minutos. Si el equipo no está inactivo durante la duración especificada antes de que expire el valor de IdleTimeout , el trabajo programado no se ejecuta hasta la próxima hora programada, si existe.

Escriba un objeto de intervalo de tiempo, como uno generado por el New-TimeSpan cmdlet, o escriba un valor en <hours>:<minutes>:<seconds> formato que se convierta automáticamente en un objeto TimeSpan .

Para habilitar este valor, use el parámetro StartIfIdle . De forma predeterminada, la propiedad StartIfNotIdle de los trabajos programados se establece en $True y Windows PowerShell omite los valores IdleDuration e IdleTimeout .

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

-InputObject

Especifica las opciones de trabajo. Escriba una variable que contenga objetos ScheduledJobOptions o escriba un comando o expresión que obtenga objetos ScheduledJobOptions , como un Get-ScheduledJobOption comando. También puede canalizar un objeto ScheduledJobOptions a Set-ScheduledJobOption.

Type:ScheduledJobOptions
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MultipleInstancePolicy

Determina cómo responde el sistema a una solicitud para iniciar una instancia de un trabajo programado mientras se está ejecutando otra instancia del trabajo. Los valores permitidos para este parámetro son los siguientes:

  • IgnoreNew : se omite la nueva instancia de trabajo. Este es el valor predeterminado.
  • Parallel - La nueva instancia de trabajo se inicia inmediatamente.
  • Queue - La nueva instancia de trabajo se inicia en cuanto se completa la instancia actual.
  • StopExisting - Se inicia la instancia actual del trabajo y se inicia la nueva instancia.

Para ejecutar el trabajo, deben cumplirse todas las condiciones para la programación del trabajo. Por ejemplo, si no se cumplen las condiciones establecidas por los parámetros RequireNetwork, IdleDuration e IdleTimeout , la instancia de trabajo no se inicia, independientemente del valor de este parámetro.

Type:TaskMultipleInstancePolicy
Accepted values:None, IgnoreNew, Parallel, Queue, StopExisting
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Devuelve un objeto que representa el elemento con el que está trabajando. De forma predeterminada, este cmdlet no genera ningún resultado.

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

-RequireNetwork

Ejecuta el trabajo programado solo cuando las conexiones de red están disponibles.

Si se especifica este parámetro y la red no está disponible en la hora de inicio programada, el trabajo no se ejecuta hasta la siguiente hora de inicio programada, si existe.

El parámetro RequireNetwork establece el valor de la propiedad RunWithoutNetwork de los trabajos programados en $false.

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

-RestartOnIdleResume

Reinicia un trabajo programado cuando el equipo esté inactivo. Este parámetro funciona con el parámetro StopIfGoingOffIdle , que suspende un trabajo programado en ejecución si el equipo se activa (deja el estado inactivo).

El parámetro RestartOnIdleResume establece el valor de la propiedad RestartOnIdleResume de trabajos programados en $true.

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

-RunElevated

Ejecuta el trabajo programado con los permisos de un miembro del grupo Administradores en el equipo en el que se ejecuta el trabajo.

Para permitir que un trabajo programado se ejecute con permisos de Administración istrator, use el parámetro Credential de Register-ScheduledJob para proporcionar credenciales explícitas para el trabajo.

El parámetro RunElevated establece el valor de la propiedad RunElevated de los trabajos programados en $true.

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

-StartIfIdle

Inicia el trabajo programado si el equipo ha estado inactivo durante el tiempo especificado por el parámetro IdleDuration antes de que expire la hora especificada por el parámetro IdleTimeout .

De forma predeterminada, se omiten los parámetros IdleDuration e IdleTimeout y el trabajo se inicia en la hora de inicio programada incluso si el equipo está ocupado.

Si se especifica este parámetro y el equipo está ocupado (no inactivo) a la hora de inicio programada, el trabajo no se ejecuta hasta la siguiente hora de inicio programada, si existe.

El parámetro StartIfIdle establece el valor de la propiedad StartIfNotIdle de los trabajos programados en $false.

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

-StartIfOnBattery

Inicia el trabajo programado, incluso aunque el equipo está funcionando con baterías a la hora de inicio programada. El valor predeterminado es $false.

El parámetro StartIfOnBattery establece el valor de la propiedad StartIfOnBatteries de los trabajos programados en $true.

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

-StopIfGoingOffIdle

Suspende un trabajo programado en ejecución si el equipo se activa (no inactivo) mientras el trabajo se está ejecutando.

De forma predeterminada, un trabajo programado que esté suspendido cuando el equipo se active se reanuda cuando el equipo vuelva a estar inactivo. Para cambiar este comportamiento predeterminado, use el parámetro RestartOnIdleResume .

El parámetro StopIfGoingOffIdle establece el valor de la propiedad StopIfGoingOffIdle de los trabajos programados en $true.

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

-WakeToRun

Reactiva el equipo desde un estado de suspensión o hibernación a la hora de inicio programada para poder ejecutarse el trabajo. De forma predeterminada, si el equipo está en un estado de suspensión o hibernación a la hora de inicio programada, el trabajo no se ejecuta.

El parámetro WakeToRun establece el valor de la propiedad WakeToRun de los trabajos programados en $true.

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

Entradas

ScheduledJobOptions

Puede canalizar un objeto de opciones de trabajo programado a este cmdlet.

Salidas

None

De forma predeterminada, este cmdlet no devuelve ninguna salida.

ScheduledJobOptions

Cuando se usa el parámetro PassThru , este cmdlet devuelve las opciones de trabajo que se cambiaron.