Compartir a través de


Disable-ScheduledJob

Deshabilita un trabajo programado.

Sintaxis

Disable-ScheduledJob
       [-InputObject] <ScheduledJobDefinition>
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Disable-ScheduledJob
       [-Id] <Int32>
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Disable-ScheduledJob
       [-Name] <String>
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

El cmdlet Disable-ScheduledJob deshabilita temporalmente los trabajos programados. Deshabilitar conserva todas las propiedades del trabajo y no deshabilita los desencadenadores de trabajo, pero impide que los trabajos programados se inicien automáticamente cuando se desencadenen. Puede iniciar un trabajo programado deshabilitado mediante el cmdlet Start-Job o usar un trabajo programado deshabilitado como plantilla.

Para deshabilitar un trabajo programado, el cmdlet Disable-ScheduledJob establece la propiedad Enabled del trabajo programado en False ($false). Para volver a habilitar el trabajo programado, use el cmdlet Enable-ScheduledJob.

Disable-ScheduledJob es una de las colecciones de cmdlets de programación de trabajos en el módulo de PSScheduledJob que se incluye en Windows PowerShell.

Para obtener 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: Deshabilitar un trabajo programado

PS C:\> Disable-ScheduledJob -ID 2 -Passthru
Id         Name            Triggers        Command                                  Enabled
--         ----            --------        -------                                  -------
2          Inventory       {1, 2}          \\Srv01\Scripts\Get-FullInventory.ps1    False

Este comando deshabilita el trabajo programado con el identificador 2 en el equipo local. La salida muestra el efecto del comando.

Ejemplo 2: Deshabilitar todos los trabajos programados

PS C:\> Get-ScheduledJob | Disable-ScheduledJob -Passthru
Id         Name            Triggers        Command                                  Enabled
--         ----            --------        -------                                  -------
1          ArchiveProje... {}              C:\Scripts\Archive-DxProjects.ps1        False
2          Inventory       {1, 2}          \\Srv01\Scripts\Get-FullInventory.ps1    False
4          Test-HelpFiles  {1}             .\Test-HelpFiles.ps1                     False
5          TestJob         {1, 2}          .\Run-AllTests.ps1                       False

Este comando deshabilita todos los trabajos programados en el equipo local. Usa el cmdlet Get-ScheduledJob para obtener todo el trabajo programado y el cmdlet Disable-ScheduledJob para deshabilitarlos.

Puede volver a habilitar el trabajo programado mediante el cmdlet Enable-ScheduledJob y ejecutar un trabajo programado deshabilitado mediante el cmdlet Start-Job.

Disable-ScheduledJob no genera advertencias ni errores si deshabilita un trabajo programado que ya está deshabilitado, por lo que puede deshabilitar todos los trabajos programados sin condiciones.

Ejemplo 3: Deshabilitar trabajos programados seleccionados

PS C:\> Get-ScheduledJob | Where-Object {!$_.Credential} | Disable-ScheduledJob

Este comando deshabilita el trabajo programado no incluye una credencial. Los trabajos sin credenciales se ejecutan con el permiso del usuario que los creó.

El comando usa el cmdlet Get-ScheduledJob para obtener todos los trabajos programados en el equipo. Un operador de canalización envía los trabajos programados al cmdlet Where-Object, que selecciona trabajos programados que no tienen credenciales. El comando usa el operador not (!) y hace referencia a la propiedad Credential del trabajo programado. Otro operador de canalización envía los trabajos programados seleccionados al cmdlet disable-ScheduledJob , que los deshabilita.

Ejemplo 4: Deshabilitar trabajos programados en un equipo remoto

PS C:\> Invoke-Command -ComputerName Srv01, Srv10 -ScriptBlock {Disable-ScheduledJob -Name TestJob}

Este comando deshabilita el trabajo programado testJob en dos equipos remotos, Srv01 y Srv10.

El comando usa el cmdlet Invoke-Command para ejecutar un comando Disable-ScheduledJob en los equipos Srv01 y Srv10. El comando usa el parámetro Name de Disable-ScheduledJob para seleccionar el trabajo programado TestJob en cada equipo.

Ejemplo 5: Deshabilitar un trabajo programado por su identificador global

The first command demonstrates one way of finding the GlobalID of a scheduled job. The command uses the Get-ScheduledJob cmdlet to get the scheduled jobs on the computer. A pipeline operator (|) sends the scheduled jobs to the Format-Table cmdlet, which displays the Name, GlobalID, and Command properties of each job in a table.
PS C:\> Get-ScheduledJob | Format-Table -Property Name, GlobalID, Command -Autosize
Name             GlobalId                             Command
----             --------                             -------
ArchiveProjects1 a26a0b3d-b4e6-44d3-8b95-8706ef621f7c C:\Scripts\Archive-DxProjects.ps1
Inventory        3ac37e5d-84c0-4a8f-9661-7e88ebb8f914 \\Srv01\Scripts\Get-FullInventory.ps1
Backup-Scripts   4d0cc6be-c082-48d1-baec-1bd8278f3c81  Copy-Item C:\CurrentScripts\*.ps1 -Destination C:\BackupScripts
Test-HelpFiles   d77020ca-f20d-42be-86c8-fc64df97db90 .\Test-HelpFiles.ps1
Test-HelpFiles   2f1606d2-c6cf-4bef-8b1c-ae36a9cc9934 .\Test-DomainHelpFiles.ps1

The second command uses the  Get-ScheduledJob cmdlet to get the scheduled jobs on the computer. A pipeline operator (|) sends the scheduled jobs to the Where-Object cmdlet, which selects the scheduled job with the specified global ID. Another pipeline operator sends the job to the **Disable-ScheduledJob** cmdlet, which disables it.
PS C:\> Get-ScheduledJob | Where-Object {$_.GlobalID = d77020ca-f20d-42be-86c8-fc64df97db90} | Disable-ScheduledJob

En este ejemplo se muestra cómo deshabilitar un trabajo programado mediante su identificador global. El valor de la propiedad GlobalID de un trabajo programado es un identificador único (GUID). Use el valor GlobalID cuando se requiera precisión, como cuando se deshabilitan trabajos programados en varios equipos.

Parámetros

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Id

Deshabilita el trabajo programado con el número de identificación (ID) especificado. Escriba el identificador de un trabajo programado.

Tipo:Int32
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-InputObject

Especifica el trabajo programado que se va a deshabilitar. Escriba una variable que contenga objetos ScheduledJobDefinition o escriba un comando o expresión que obtenga objetos ScheduledJobDefinition, como un comando Get-ScheduledJob. También puede canalizar un objeto ScheduledJobDefinition para Disable-ScheduledJob.

Tipo:ScheduledJobDefinition
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Name

Deshabilita los trabajos programados con los nombres especificados. Escriba el nombre de un trabajo programado. Se admiten caracteres comodín.

Tipo:String
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PassThru

Devuelve un objeto que representa el elemento con el que está trabajando. De forma predeterminada, este cmdlet no genera ninguna salida.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

ScheduledJobDefinition

Puede canalizar un trabajo programado a Disable-ScheduledJob.

Salidas

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

Si usa el parámetro Passthru, Disable-ScheduledJob devuelve el trabajo programado que se deshabilitó. De lo contrario, este cmdlet no genera ninguna salida.

Notas

  • Disable-ScheduledJob no genera advertencias ni errores si se usa para deshabilitar un trabajo programado que ya está deshabilitado.