Compartilhar via


Enable-ScheduledJob

Habilita um trabalho agendado.

Sintaxe

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

Description

O cmdlet Enable-ScheduledJob habilita novamente trabalhos agendados desabilitados, como aqueles que estão desabilitados usando o cmdlet Disable-ScheduledJob. Trabalhos habilitados são executados automaticamente quando disparados.

Para habilitar um trabalho agendado, o cmdlet Enable-ScheduledJob define a propriedade Enabled do trabalho agendado como $True.

Enabled-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: Habilitar um trabalho agendado

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

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

Exemplo 2: Habilitar todos os trabalhos agendados

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

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

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

Exemplo 3: Habilitar trabalhos agendados selecionados

PS C:\> Get-ScheduledJob | Get-ScheduledJobOption | Where-Object {$_.RunWithoutNetwork} | ForEach-Object {Enable-ScheduledJob -InputObject $_.JobDefinition}

Esse comando habilita trabalhos agendados que não exigem uma conexão de rede.

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 Get-ScheduledJobOption, que obtém as opções de trabalho de cada trabalho agendado. Cada objeto de opções de trabalho tem uma propriedade JobDefinition que contém o trabalho agendado associado. A propriedade JobDefinition é usada para concluir o comando.

O comando usa um operador de pipeline (|) para enviar as opções de trabalho para o cmdlet Where-Object, que seleciona objetos de opção de trabalho agendados nos quais a propriedade RunWithoutNetwork tem um valor true ($true). Outro operador de pipeline envia os objetos de opções de trabalho agendado selecionados para o cmdlet ForEach-Object que executa um comando Enable-ScheduledJob no trabalho agendado no valor da propriedade JobDefinition de cada objeto de opções de trabalho.

Exemplo 4: Habilitar trabalhos agendados em um computador remoto

PS C:\> Invoke-Command -ComputerName "Srv01,Srv10" -ScriptBlock {Enable-ScheduledJob -Name "Inventory"}

Esse comando permite trabalhos agendados que têm "teste" em seus nomes em dois computadores remotos, Srv01 e Srv10.

O comando usa o cmdlet Invoke-Command para executar um comando Enable-ScheduledJob nos computadores Srv01 e Srv10. O comando usa o parâmetro Name de Enable-ScheduledJob para habilitar o trabalho agendado inventário em cada computador.

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

Habilita o trabalho agendado com a ID (número de identificação) especificado. 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 habilitado. 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 Enable-ScheduledJob.

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

-Name

Habilita 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 Enable-ScheduledJob .

Saídas

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

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

Observações

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