New-ScheduledJobOption
Cria um objeto que contém opções avançadas para um trabalho agendado.
Sintaxe
New-ScheduledJobOption
[-RunElevated]
[-HideInTaskScheduler]
[-RestartOnIdleResume]
[-MultipleInstancePolicy <TaskMultipleInstancePolicy>]
[-DoNotAllowDemandStart]
[-RequireNetwork]
[-StopIfGoingOffIdle]
[-WakeToRun]
[-ContinueIfGoingOnBattery]
[-StartIfOnBattery]
[-IdleTimeout <TimeSpan>]
[-IdleDuration <TimeSpan>]
[-StartIfIdle]
[<CommonParameters>]
Description
O New-ScheduledJobOption
cmdlet cria um objeto que contém opções avançadas para um trabalho agendado.
Você pode usar o objeto ScheduledJobOptions que New-ScheduledJobOption
retorna para definir opções de trabalho para um trabalho agendado novo ou existente. Como alternativa, você pode definir opções de trabalho usando o Get-ScheduledJobOption
cmdlet para obter as opções de trabalho de um trabalho agendado existente ou usando um valor de tabela de hash para representar as opções de trabalho.
Sem parâmetros, New-ScheduledJobOption
gera um objeto que contém os valores padrão para todas as opções. Como todas as propriedades, exceto a propriedade JobDefinition, podem ser editadas, você pode usar o objeto resultante como um modelo e criar objetos de opção padrão para sua empresa.
Ao criar trabalhos agendados e definir opções de trabalho agendado, revise os valores padrão de todas as opções de trabalho agendado. Os trabalhos agendados são executados somente quando todas as condições definidas para sua execução são satisfeitas.
New-ScheduledJobOption
é 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 consulte about_Scheduled_Jobs.
Este cmdlet foi introduzido no Windows PowerShell 3.0.
Exemplos
Exemplo 1: Criar um objeto de opção de trabalho agendado com valores padrão
Este exemplo cria um objeto de opção de trabalho agendado com os valores padrão.
New-ScheduledJobOption
Exemplo 2: Criar um objeto de opção de trabalho agendado com valores personalizados
Este exemplo cria um objeto de opção de trabalho agendado com valores personalizados
New-ScheduledJobOption -RequireNetwork -StartIfOnBattery
StartIfOnBatteries : True
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 : Ignore
NewJobDefinition :
O comando a seguir cria um objeto de trabalho agendado que requer a rede e executa o trabalho agendado mesmo se o computador não estiver conectado à alimentação CA.
A saída mostra que o parâmetro RequireNetwork alterou o valor da propriedade RunWithoutNetwork para $false
e o parâmetro StartIfOnBattery alterou o valor da propriedade StartIfOnBatteries para $true
.
Exemplo 3: Definir opções para um novo trabalho agendado
Este exemplo mostra como usar o objeto ScheduledJobOptions que New-ScheduledJobOption
retorna para definir as opções para um novo trabalho agendado.
$runAsAdmin = New-ScheduledJobOption -RunElevated
Register-ScheduledJob -Name Backup -FilePath D:\Scripts\Backup.ps1 -Trigger $Mondays -ScheduledJobOption $RunAsAdmin
Get-ScheduledJobOption -Name Backup
StartIfOnBatteries : False
StopIfGoingOnBatteries : True
WakeToRun : False
StartIfNotIdle : True
StopIfGoingOffIdle : False
RestartOnIdleResume : False
IdleDuration : 00:10:00
IdleTimeout : 01:00:00
ShowInTaskScheduler : True
RunElevated : True
RunWithoutNetwork : True
DoNotAllowDemandStart : False
MultipleInstancePolicy : IgnoreNew
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
O primeiro comando cria um objeto ScheduledJobOptions com o parâmetro RunElevated . Ele salva o objeto na $runAsAdmin
variável.
O segundo comando usa o Register-ScheduledJob
cmdlet para criar um novo trabalho agendado. O valor do parâmetro ScheduledJobOption é o objeto option no valor da $runAsAdmin
variável.
O terceiro comando usa o Get-ScheduledJobOption
cmdlet para obter as opções de trabalho do trabalho agendado de backup. A saída do cmdlet mostra que a propriedade RunElevated está definida como $true
e a propriedade JobDefinition do objeto de opção de trabalho agora está preenchida com o objeto de trabalho agendado para o trabalho agendado de backup.
Exemplo 4: Classificar as propriedades de um objeto de opção de trabalho agendado
Este exemplo mostra como classificar as propriedades de um objeto ScheduledJobOptions em ordem alfabética para facilitar a leitura.
$options = New-ScheduledJobOption -WakeToRun
$options.PSObject.Properties | Sort-Object -Property Name | Format-Table -Property Name, Value -Autosize
Name Value
---- -----
DoNotAllowDemandStart False
IdleDuration 00:10:00
IdleTimeout 01:00:00
JobDefinition
MultipleInstancePolicy IgnoreNew
RestartOnIdleResume False
RunElevated False
RunWithoutNetwork True
ShowInTaskScheduler True
StartIfNotIdle True
StartIfOnBatteries False
StopIfGoingOffIdle False
StopIfGoingOnBatteries True
WakeToRun True
O primeiro comando usa o New-ScheduledJobOption
cmdlet para criar um objeto ScheduledJobOptions . O comando usa o parâmetro WakeToRun e salva o objeto resultante na $options
variável.
Para obter as propriedades de $Options como objetos, o segundo comando usa a propriedade PSObject de todos os objetos do Windows PowerShell e sua propriedade Properties. Em seguida, o comando canaliza os objetos de propriedade para o Sort-Object
cmdlet, que classifica as propriedades em ordem alfabética por nome, e, em seguida, para o Format-Table
cmdlet, que exibe os nomes e valores das propriedades em uma tabela.
Esse formato torna muito mais fácil localizar a propriedade WakeToRun do objeto ScheduledJobOptions e $options
verificar se seu valor foi alterado de $false
para $true
.
Parâmetros
-ContinueIfGoingOnBattery
Não pare o trabalho agendado se o computador mudar para a alimentação da bateria (desconecta-se da alimentação CA) enquanto o trabalho está em execução. Por padrão, os trabalhos agendados param quando o computador se desconecta da alimentação CA.
O parâmetro ContinueIfGoingOnBattery define o valor da propriedade StopIfGoingOnBatteries de trabalhos agendados como $true
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-DoNotAllowDemandStart
Inicie o trabalho somente quando ele for acionado. Os usuários não podem iniciar o trabalho manualmente, como usando o recurso Executar no Agendador de Tarefas.
Este parâmetro afeta apenas o Agendador de Tarefas. Ele não impede que os usuários usem o Start-Job
cmdlet para iniciar o trabalho.
O parâmetro DoNotAllowDemandStart define o valor da propriedade DoNotAllowDemandStart de trabalhos agendados como $true
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-HideInTaskScheduler
Não exiba o trabalho no Agendador de Tarefas. Esse valor afeta apenas o computador no qual o trabalho é executado. Por padrão, as tarefas agendadas aparecem no Agendador de Tarefas.
Mesmo que uma tarefa esteja oculta, os usuários podem exibi-la selecionando a opção Mostrar exibição de tarefas ocultas no Agendador de Tarefas.
O parâmetro HideInTaskScheduler define o valor da propriedade ShowInTaskScheduler de trabalhos agendados como $false
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-IdleDuration
Especifica por quanto tempo o computador deve ficar ocioso antes que o trabalho seja iniciado. O valor predefinido é 10 minutos. Se o computador não estiver ocioso durante a duração especificada antes que o valor de IdleTimeout expire, o trabalho agendado não será executado até a próxima hora agendada, se houver.
Insira um objeto TimeSpan , como um gerado pelo New-TimeSpan
cmdlet, ou insira um valor no <formato hours>:<minutes>:<seconds> que é convertido automaticamente em um objeto TimeSpan .
Para habilitar esse valor, use o parâmetro StartIfIdle . Por padrão, a propriedade StartIfNotIdle de trabalhos agendados é definida como $true
e o Windows PowerShell ignora os valores IdleDuration e IdleTimeout .
Tipo: | TimeSpan |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-IdleTimeout
Especifica quanto tempo o trabalho agendado aguarda para que o computador fique ocioso. Se esse tempo limite expirar antes que o computador permaneça ocioso durante o período especificado pelo parâmetro IdleDuration , o trabalho não será executado até a próxima hora agendada, se houver. O valor padrão é uma hora.
Insira um objeto TimeSpan , como um gerado pelo New-TimeSpan
cmdlet, ou insira um valor no <formato hours>:<minutes>:<seconds> que é convertido automaticamente em um objeto TimeSpan .
Para habilitar esse valor, use o parâmetro StartIfIdle . Por padrão, a propriedade StartIfNotIdle de trabalhos agendados é definida como $true
e o Windows PowerShell ignora os valores IdleDuration e IdleTimeout .
Tipo: | TimeSpan |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-MultipleInstancePolicy
Determina como o sistema responde a uma solicitação para iniciar uma instância de um trabalho agendado enquanto outra instância do trabalho está em execução. O valor predefinido é IgnoreNew
. Os valores aceitáveis para este parâmetro são:
IgnoreNew
- A nova instância de trabalho é ignorada.Parallel
- A nova instância de trabalho é iniciada imediatamente.Queue
- A nova instância de trabalho é iniciada assim que a instância atual é concluída.StopExisting
- A instância atual do trabalho para e a nova instância é iniciada.
Para executar o trabalho, todas as condições para o cronograma de trabalho devem ser atendidas. Por exemplo, se as condições definidas pelos parâmetros RequireNetwork, IdleDuration e IdleTimeout não forem satisfeitas, a instância de trabalho não será iniciada, independentemente do valor desse parâmetro.
Tipo: | TaskMultipleInstancePolicy |
Valores aceites: | None, IgnoreNew, Parallel, Queue, StopExisting |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-RequireNetwork
Executa o trabalho agendado somente quando as conexões de rede estão disponíveis.
Se você especificar esse parâmetro e a rede não estiver disponível na hora de início agendada, o trabalho não será executado até a próxima hora de início agendada, se houver.
O parâmetro RequireNetwork define o valor da propriedade RunWithoutNetwork de trabalhos agendados como $false
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-RestartOnIdleResume
Reinicia um trabalho agendado quando o computador fica ocioso. Esse parâmetro funciona com o parâmetro StopIfGoingOffIdle , que suspende um trabalho agendado em execução se o computador ficar ativo (deixar o estado ocioso).
O parâmetro RestartOnIdleResume define o valor da propriedade RestartOnIdleResume de trabalhos agendados como $true
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-RunElevated
Executa o trabalho agendado com as permissões de um membro do grupo Administradores no computador em que o trabalho é executado.
Para permitir que um trabalho agendado seja executado com permissões de Administrador, use o parâmetro Credential de Register-ScheduledJob
para fornecer credenciais explícitas para o trabalho.
O parâmetro RunElevated define o valor da propriedade RunElevated de trabalhos agendados como $true
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-StartIfIdle
Inicia o trabalho agendado se o computador tiver estado inativo durante o tempo especificado pelo parâmetro IdleDuration antes do tempo especificado pelo parâmetro IdleTimeout expirar.
Por padrão, os parâmetros IdleDuration e IdleTimeout são ignorados e o trabalho é iniciado na hora de início agendada, mesmo que o computador esteja ocupado.
Se você especificar esse parâmetro e o computador estiver ocupado (não ocioso) na hora de início agendada, o trabalho não será executado até a próxima hora de início agendada, se houver.
O parâmetro StartIfIdle define o valor da propriedade StartIfNotIdle de trabalhos agendados como $false
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-StartIfOnBattery
Inicia o trabalho agendado mesmo que o computador esteja funcionando com baterias na hora de início agendada.
O valor predefinido é $false
.
O parâmetro StartIfOnBattery define o valor da propriedade StartIfOnBatteries de trabalhos agendados como $true
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-StopIfGoingOffIdle
Suspende um trabalho agendado em execução se o computador ficar ativo (não ocioso) enquanto o trabalho estiver em execução.
Por padrão, um trabalho agendado que é suspenso quando o computador fica ativo é retomado quando o computador fica ocioso novamente. Para alterar esse comportamento padrão, use o parâmetro RestartOnIdleResume .
O parâmetro StopIfGoingOffIdle define o valor da propriedade StopIfGoingOffIdle de trabalhos agendados como $true
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-WakeToRun
Desperta o computador de um estado de Hibernação ou Suspensão na hora de início agendada para que possa executar o trabalho. Por padrão, se o computador estiver em um estado de Hibernação ou Suspensão no horário de início agendado, o trabalho não será executado.
O parâmetro WakeToRun define o valor da propriedade WakeToRun de trabalhos agendados como $true
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
None
Não é possível canalizar objetos para este cmdlet.
Saídas
Este cmdlet retorna um objeto ScheduledJobOptions que representa as opções criadas.
Notas
Você pode usar o objeto ScheduledJobOptions que
New-ScheduledJobOption
cria como o valor do parâmetro ScheduledJobOption doRegister-ScheduledJob
cmdlet. No entanto, o parâmetro ScheduledJobOption também pode ter um valor de tabela hash que especifica as propriedades do objeto ScheduledJobOptions e os respetivos valores, como:@{ShowInTaskScheduler=$False; RunElevated=$True; IdleDuration="00:05"}
Ligações Relacionadas
- 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