Compartilhar via


Disable-ScheduledJob

Desabilita um trabalho agendado.

Sintaxe

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

O cmdlet disable-ScheduledJob desabilita temporariamente os trabalhos agendados. Desabilitar preserva todas as propriedades do trabalho e não desabilita os gatilhos de trabalho, mas impede que os trabalhos agendados sejam iniciados automaticamente quando disparados. Você pode iniciar um trabalho agendado desabilitado usando o cmdlet Start-Job ou usar um trabalho agendado desabilitado como modelo.

Para desabilitar um trabalho agendado, o cmdlet Disable-ScheduledJob define a propriedade Enabled do trabalho agendado como False ($false). Para habilitar novamente o trabalho agendado, use o cmdlet Enable-ScheduledJob.

disable-ScheduledJob é um de uma coleção de cmdlets de agendamento de trabalho no módulo PSScheduledJob incluído no Windows PowerShell.

Para obter mais informações sobre trabalhos agendados, consulte os tópicos sobre no módulo PSScheduledJob. Importe o módulo PSScheduledJob e digite: Get-Help about_Scheduled* ou veja about_Scheduled_Jobs.

Esse cmdlet foi introduzido no Windows PowerShell 3.0.

Exemplos

Exemplo 1: Desabilitar um trabalho agendado

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

Esse comando desabilita o trabalho agendado com a ID 2 no computador local. A saída mostra o efeito do comando.

Exemplo 2: Desabilitar todos os trabalhos agendados

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

Esse comando desabilita todos os trabalhos agendados no computador local. Ele usa o cmdlet Get-ScheduledJob para obter todo o trabalho agendado e o cmdlet Disable-ScheduledJob para desabilitá-los.

Você pode reabilitar o trabalho agendado usando o cmdlet Enable-ScheduledJob e executar um trabalho agendado desabilitado usando o cmdlet Start-Job.

Desabilitar-ScheduledJob não gerará avisos ou erros se você desabilitar um trabalho agendado que já está desabilitado, para que você possa desabilitar todos os trabalhos agendados sem condições.

Exemplo 3: Desabilitar trabalhos agendados selecionados

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

Esse comando desabilita que o trabalho agendado não inclua uma credencial. Trabalhos sem credenciais são executados com a permissão do usuário que os criou.

O comando usa o cmdlet Get-ScheduledJob para obter todos os trabalhos agendados no computador. Um operador de pipeline envia os trabalhos agendados para o cmdlet Where-Object, que seleciona trabalhos agendados que não têm credenciais. O comando usa o operador not (!) e faz referência à propriedade Credential do trabalho agendado. Outro operador de pipeline envia os trabalhos agendados selecionados para o cmdlet Disable-ScheduledJob, que os desabilita.

Exemplo 4: Desabilitar trabalhos agendados em um computador remoto

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

Esse comando desabilita o trabalho agendado do TestJob em dois computadores remotos, Srv01 e Srv10.

O comando usa o cmdlet Invoke-Command para executar um comando Disable-ScheduledJob nos computadores Srv01 e Srv10. O comando usa o parâmetro nome de Disable-ScheduledJob para selecionar o trabalho agendado testJob em cada computador.

Exemplo 5: Desabilitar um trabalho agendado por sua ID 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

Este exemplo mostra como desabilitar um trabalho agendado usando seu identificador global. O valor da propriedade GlobalID de um trabalho agendado é um GUID (identificador exclusivo). Use o valor GlobalID quando a precisão for necessária, como quando você estiver desabilitando trabalhos agendados em vários computadores.

Parâmetros

-Confirm

Solicita a confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Id

Desabilita o trabalho agendado com o número de identificação especificado (ID). Insira a ID de um trabalho agendado.

Tipo:Int32
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

Especifica o trabalho agendado a ser desabilitado. Insira uma variável que contenha objetos ScheduledJobDefinition ou digite um comando ou expressão que obtém objetos ScheduledJobDefinition, como um comando Get-ScheduledJob. Você também pode canalizar um objeto ScheduledJobDefinition para Disable-ScheduledJob.

Tipo:ScheduledJobDefinition
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Name

Desabilita os trabalhos agendados com os nomes especificados. Insira o nome de um trabalho agendado. Há suporte para curingas.

Tipo:String
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PassThru

Retorna um objeto que representa o item com o qual você está trabalhando. Por padrão, esse cmdlet não gera nenhuma saída.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

ScheduledJobDefinition

Você pode canalizar um trabalho agendado para Desabilitar-ScheduledJob.

Saídas

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

Se você usar o parâmetro Passthru, Disable-ScheduledJob retornará o trabalho agendado que foi desabilitado. Caso contrário, esse cmdlet não gerará nenhuma saída.

Observações

  • Desabilitar-ScheduledJob não gerará avisos ou erros se você usá-lo para desabilitar um trabalho agendado que já está desabilitado.