New-JobTrigger
Crea un desencadenador de trabajo para un trabajo programado.
Syntax
New-JobTrigger
[-RandomDelay <TimeSpan>]
-At <DateTime>
[-Once]
[-RepetitionInterval <TimeSpan>]
[-RepetitionDuration <TimeSpan>]
[-RepeatIndefinitely]
[<CommonParameters>]
New-JobTrigger
[-DaysInterval <Int32>]
[-RandomDelay <TimeSpan>]
-At <DateTime>
[-Daily]
[<CommonParameters>]
New-JobTrigger
[-WeeksInterval <Int32>]
[-RandomDelay <TimeSpan>]
-At <DateTime>
-DaysOfWeek <DayOfWeek[]>
[-Weekly]
[<CommonParameters>]
New-JobTrigger
[-RandomDelay <TimeSpan>]
[-AtStartup]
[<CommonParameters>]
New-JobTrigger
[-RandomDelay <TimeSpan>]
[-User <String>]
[-AtLogOn]
[<CommonParameters>]
Description
El cmdlet New-JobTrigger crea un desencadenador de trabajo que inicia un trabajo programado en una programación única o periódica, o cuando se produce un evento.
Puede usar el objeto ScheduledJobTrigger que New-JobTrigger devuelve para establecer un desencadenador de trabajo para un trabajo programado nuevo o existente. También puede crear un desencadenador de trabajo mediante el cmdlet Get-JobTrigger para obtener el desencadenador de trabajo de un trabajo programado existente o mediante un valor de tabla hash para representar un desencadenador de trabajo.
Al crear un desencadenador de trabajo, revise los valores predeterminados de las opciones especificadas por el cmdlet New-ScheduledJobOption. Estas opciones, que tienen los mismos valores válidos y predeterminados que las opciones correspondientes de Task Scheduler, afectan a la programación y la sincronización de los trabajos programados.
New-JobTrigger 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: una vez programada
PS C:\> New-JobTrigger -Once -At "1/20/2012 3:00 AM"
Este comando usa el cmdlet New-JobTrigger para crear un desencadenador de trabajo que inicia un trabajo programado solo una vez. El valor del parámetro At es una cadena que Windows PowerShell convierte en un objeto DateTime. El valor del parámetro At incluye una fecha explícita, no solo una vez. Si se omite la fecha, se crearía el desencadenador con la fecha actual y la hora 3:00 AM, que es probable que represente una hora del pasado.
Ejemplo 2: Programación diaria
PS C:\> New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
0 Daily 9/21/2012 4:15:00 AM True
Este comando crea un desencadenador de trabajo que inicia un trabajo programado cada 3 días a las 4:15 AM.
Debido a que el valor del parámetro At no incluye una fecha, la fecha actual se usa como el valor de fecha en el objeto DateTime. Si la fecha y hora están en el pasado, se inicia el trabajo programado en la siguiente repetición, que es 3 días más tarde desde el valor del parámetro At.
Ejemplo 3: Programación semanal
PS C:\> New-JobTrigger -Weekly -DaysOfWeek Monday, Wednesday, Friday -At "23:00" -WeeksInterval 4
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
0 Weekly 9/21/2012 11:00:00 PM {Monday, Wednesday, Friday} True
Este comando crea un desencadenador de trabajo que inicia un trabajo programado cada 4 semanas, el lunes, el miércoles y el viernes a las 2300 horas (11:00 PM).
También puede escribir el valor del parámetro DaysOfWeek en enteros, como -DaysOfWeek 1, 5
.
Ejemplo 4: Programación de inicio de sesión
PS C:\> New-JobTrigger -AtLogOn -User Domain01\Admin01
Este comando crea un desencadenador de trabajo que inicia un trabajo programado, siempre que el administrador de dominio inicie sesión en el equipo.
Ejemplo 5: Usar un retraso aleatorio
PS C:\> New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00
Este comando crea un desencadenador de trabajo que inicia un trabajo programado cada día a la 1:00 de la mañana. El comando usa el parámetro RandomDelay para establecer el retraso máximo en 20 minutos. Como resultado, el trabajo se ejecuta todos los días entre la 1:00 y la 1:20 AM, con el intervalo que varía pseudo aleatoriamente.
Puede usar un retraso aleatorio para el muestreo, el equilibrio de carga y otras tareas administrativas. Al establecer el valor de retraso, revise los valores efectivos y predeterminados del cmdlet New-ScheduledJobOption y coordine el retraso con la configuración de la opción.
Ejemplo 6: Create un desencadenador de trabajo para un nuevo trabajo programado
The first command uses the **New-JobTrigger** cmdlet to create a job trigger that starts a job every Monday, Wednesday, and Friday at 12:01 AM. The command saves the job trigger in the $T variable.
PS C:\> $T = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM
The second command uses the Register-ScheduledJob cmdlet to create a scheduled job that starts a job every Monday, Wednesday, and Friday at 12:01 AM. The value of the *Trigger* parameter is the trigger that is stored in the $T variable.
PS C:\> Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $T
Estos comandos usan un desencadenador de trabajo para crear un nuevo trabajo programado.
Ejemplo 7: Agregar un desencadenador de trabajo a un trabajo programado
PS C:\> Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)
Este ejemplo muestra cómo agregar un desencadenador de trabajo a una tarea programada existente. Puede agregar varios desencadenadores de trabajo a cualquier trabajo programado.
El comando usa el cmdlet Add-JobTrigger para agregar el desencadenador de trabajo al trabajo programado SynchronizeApps. El valor del parámetro Trigger es un comando New-JobTrigger que ejecuta el trabajo cada día a las 3:10 AM.
Cuando finalice el comando, SynchronizeApps es un trabajo programado que se ejecuta a las horas especificadas por el desencadenador de trabajo.
Ejemplo 8: Create un desencadenador de trabajo repetido
PS C:\> New-JobTrigger -Once -At "09/12/2013 1:00:00" -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-Timespan -Hours 48)
Este comando crea un desencadenador de trabajo que ejecuta un trabajo cada 60 minutos durante 48 horas a partir del 12 de septiembre de 2013 a las 1:00 a. m.
Ejemplo 9: Detener un desencadenador de trabajo repetido
PS C:\> Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00
Este comando detiene forzosamente el trabajo SecurityCheck, que se desencadena para ejecutarse cada 60 minutos hasta que expire su desencadenador de trabajo.
Para evitar que el trabajo se repita, el comando usa el Get-JobTrigger para obtener el desencadenador de trabajo del trabajo SecurityCheck y el cmdlet Set-JobTrigger para cambiar el intervalo de repetición y la duración de la repetición del desencadenador de trabajo a cero (0).
Ejemplo 10: Create un desencadenador de trabajo por hora
PS C:\> New-JobTrigger -Once -At "9/21/2012 0am" -RepetitionInterval (New-TimeSpan -Hour 12) -RepetitionDuration ([TimeSpan]::MaxValue)
El comando siguiente crea un desencadenador de trabajo que ejecuta un trabajo programado una vez cada 12 horas durante un período de tiempo indefinido. La programación empieza mañana (21/9/2012) a medianoche (0:00 AM).
Parámetros
-At
Inicia el trabajo en la fecha y hora especificadas. Escriba un objeto DateTime , como el que devuelve el cmdlet Get-Date, o una cadena que se pueda convertir en una fecha y hora, como "19 de abril de 2012 15:00", "12/31" o "3am". Si no especifica un elemento de la fecha, como el año, la fecha en el desencadenador tiene el elemento correspondiente de la fecha actual.
Cuando use el parámetro Once, establezca el valor del parámetro At en una hora y fecha futuras. Debido a que la fecha predeterminada en un objeto DateTime es la fecha actual, si especifica una hora anterior a la hora actual sin una fecha explícita, se crea el desencadenador de trabajo para un momento del pasado.
Los objetos DateTime y las cadenas que se convierten en objetos DateTime se ajustan automáticamente para que sean compatibles con los formatos de fecha y hora seleccionados para el equipo local en Región y idioma en Panel de control.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AtLogOn
Inicia el trabajo programado cuando los usuarios especificados inicien sesión en el equipo. Para especificar un usuario, use el parámetro User.
Type: | SwitchParameter |
Position: | 0 |
Default value: | False |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AtStartup
Inicia el trabajo programado cuando se inicia Windows.
Type: | SwitchParameter |
Position: | 0 |
Default value: | False |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Daily
Especifica una programación del trabajo de repetición diaria. Use los demás parámetros del conjunto de parámetros Daily para especificar los detalles de la programación.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DaysInterval
Especifica el número de días entre las repeticiones de una programación diaria. Por ejemplo, un valor 3 inicia el trabajo programado en los días 1, 4, 7 y así sucesivamente. El valor predeterminado es 1.
Type: | Int32 |
Position: | Named |
Default value: | 1 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DaysOfWeek
Especifica los días de la semana en los que se ejecuta un trabajo con programación semanal. Escriba los nombres de los días, por ejemplo, "Lunes" o enteros del 0 al 6, donde 0 representa el domingo. Este parámetro es obligatorio en el conjunto de parámetros Weekly.
los nombres de los días se convierten en sus valores enteros en el desencadenador de trabajo. Cuando incluya los nombres de días entre comillas en un comando, escriba cada nombre de día entre comillas independientes, por ejemplo, "Lunes", "Martes". Si incluye varios nombres de día en un par de comillas simples, se suman los valores enteros correspondientes. Por ejemplo, "Lunes, Martes" (1, 2) produce un valor "Miércoles" (3).
Type: | DayOfWeek[] |
Accepted values: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Once
Especifica una programación que no es de repetición (una vez) o de repetición personalizada. Para crear una programación de repetición, use el parámetro Once con los parámetros RepetitionDuration y RepetitionInterval.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RandomDelay
Permite un retraso aleatorio que empieza a la hora de inicio programada y establece el valor máximo de retraso. La duración del retraso se establece pseudo aleatoriamente para cada inicio y varía desde ningún retraso hasta la hora especificada por el valor de este parámetro. El valor predeterminado, cero (00:00:00), deshabilita el retraso aleatorio.
Escriba un objeto de intervalo de tiempo, como el devuelto por el cmdlet New-TimeSpan, o escriba un valor en <formato hours>:minutes>:<<seconds>, que se convierte automáticamente en un objeto TimeSpan.
Type: | TimeSpan |
Position: | Named |
Default value: | 00:00:00 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepeatIndefinitely
Este parámetro, disponible a partir de Windows PowerShell 4.0, elimina la necesidad de especificar un valor TimeSpan.MaxValue para el parámetro RepetitionDuration para ejecutar un trabajo programado para ejecutarse varias veces, durante un período indefinido.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepetitionDuration
Repite el trabajo hasta que expire el tiempo especificado. La frecuencia de repetición viene determinada por el valor del parámetro RepetitionInterval. Por ejemplo, si el valor de RepetitionInterval es 5 minutos y el valor de RepetitionDuration es de 2 horas, el trabajo se desencadena cada cinco minutos durante dos horas.
Escriba un objeto de intervalo de tiempo, como el que devuelve el cmdlet New-TimeSpan o una cadena que se puede convertir en un objeto de intervalo de tiempo, como "1:05:30".
Para ejecutar un trabajo de forma indefinida, agregue el parámetro RepeatIndefinitely en su lugar.
Para detener un trabajo antes de que expire la duración de repetición del desencadenador de trabajo, use el cmdlet Set-JobTrigger para establecer el valor De repeticiónduración en cero (0).
Este parámetro solo es válido cuando los parámetros Once, At y RepetitionInterval se usan en el comando.
Type: | TimeSpan |
Position: | Named |
Default value: | 0 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepetitionInterval
Repite el trabajo con el intervalo de tiempo especificado. Por ejemplo, si el valor de este parámetro es de 2 horas, el trabajo se desencadena cada dos horas. El valor predeterminado, 0, no repite el trabajo.
Escriba un objeto de intervalo de tiempo, como el que devuelve el cmdlet New-TimeSpan o una cadena que se puede convertir en un objeto de intervalo de tiempo, como "1:05:30".
Este parámetro solo es válido cuando los parámetros Once, At y RepetitionDuration se usan en el comando.
Type: | TimeSpan |
Position: | Named |
Default value: | 0 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-User
Especifica los usuarios que desencadenan un inicio AtLogon de un trabajo programado. Escriba el nombre de un usuario en <formato UserName> o <Domain\Username> o escriba un asterisco (*) para representar a todos los usuarios. El valor predeterminado es todos los usuarios.
Type: | String |
Position: | Named |
Default value: | All users |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Weekly
Especifica una programación del trabajo de repetición semanal. Use los otros parámetros del conjunto de parámetros Weekly para especificar los detalles de la programación.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WeeksInterval
Especifica el número de semanas entre las repeticiones de una programación de trabajo semanal. Por ejemplo, un valor 3 inicia el trabajo programado en las semanas 1, 4, 7 y así sucesivamente. El valor predeterminado es 1.
Type: | Int32 |
Position: | Named |
Default value: | 1 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
None
No se puede canalizar la entrada a este cmdlet.
Salidas
Notas
Los desencadenadores de trabajo no se guardan en el disco. Sin embargo, los trabajos programados se guardan en el disco y puede usar el Get-JobTrigger para obtener el desencadenador de trabajo de cualquier trabajo programado.
New-JobTrigger no impide crear un desencadenador de trabajo que no ejecute un trabajo programado, como un desencadenador único para una fecha en el pasado.
El cmdlet Register-ScheduledJob acepta un objeto ScheduledJobTrigger, como uno devuelto por los cmdlets New-JobTrigger o Get-JobTrigger, o una tabla hash con valores de desencadenador.
Para enviar una tabla hash, use las claves siguientes.
@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am"
(o cualquier cadena de tiempo válida);DaysOfWeek="Monday", "Wednesday"
(o cualquier combinación de nombres de día);Interval=2
(o cualquier intervalo de frecuencia válido);RandomDelay="30minutes"
(o cualquier cadena de intervalo de tiempo válida);User="Domain1\User01
(o cualquier usuario válido; se usa solo con el valor de frecuencia AtLogon ) }
Vínculos relacionados
- about_Scheduled_Jobs
- Add-JobTrigger
- Disable-JobTrigger
- Disable-ScheduledJob
- Enable-JobTrigger
- Enable-ScheduledJob
- Get-JobTrigger
- Get-ScheduledJob
- Get-ScheduledJobOption
- New-JobTrigger
- New-ScheduledJobOption
- Register-ScheduledJob
- Remove-JobTrigger
- Set-JobTrigger
- Set-ScheduledJob
- Set-ScheduledJobOption
- Unregister-ScheduledJob