O trabalho agendado do PowerShell não está sendo executado na inicialização

6

Estou tentando criar um job que é executado na inicialização no Windows Server 2012 R2 Core. O trabalho executa um script que se conecta a um compartilhamento de rede e monta um VHD localizado nesse compartilhamento.

O próprio script funciona e, ao se registrar com o parâmetro -RunNow , o trabalho é acionado e executado conforme o esperado. Executar o trabalho com o Start-Job Cmdlet também funciona bem.

No entanto, o trabalho não é acionado na inicialização, como especificado em seu acionador.

O que eu fiz para criar o trabalho:

$Trigger = New-JobTrigger -AtStartup  
$JobOptions = New-ScheduledJobOption -RunElevated -RequireNetwork  
Register-ScheduledJob -FilePath C:\Scripts\Test.ps1 -Name Test -Trigger $Trigger -ScheduledJobOption $JobOptions -RunNow

Eu posso ver claramente os resultados disso funcionando depois de fazer isso. Mas ao reiniciar o servidor, os resultados não estão lá, mas o trabalho diz que foi executado pela última vez, não muito depois da reinicialização.

    
por kazaamjt 14.12.2016 / 16:17

1 resposta

3

Ao usar o cmdlet New-JobTrigger para criar um acionador de inicialização, é uma boa idéia especificar um período de atraso aleatório de 30 segundos ou mais para evitar conflitos na inicialização. Isso também ajudará a garantir uma maior chance de sucesso para o trabalho.

$trigger = New-JobTrigger -AtStartup -RandomDelay 00:00:30

Você também deseja verificar o status do seu trabalho depois de ter reiniciado e conectado novamente com o cmdlet Get-Job .

    
por 14.12.2016 / 18:52