Desde o Powershell 4.0 você pode usar o módulo ScheduledTask
para criar tarefas agendadas sem o uso do objeto-com e leitura e escrita mais fáceis.
Exemplo:
$A = New-ScheduledTaskAction -Execute "Taskmgr.exe"
$T = New-ScheduledTaskTrigger -AtLogon
$P = New-ScheduledTaskPrincipal "Laptop\Administrator"
$S = New-ScheduledTaskSettingsSet
$D = New-ScheduledTask -Action $A -Principal $P -Trigger $T -Settings $S
Register-ScheduledTask T1 -InputObject $D
O primeiro comando usa o cmdlet New-ScheduledTaskAction
para atribuir a variável $A
ao arquivo executável tskmgr.exe
.
O segundo comando usa o cmdlet New-ScheduledTaskTrigger
para atribuir a variável $T
ao valor AtLogon.
O terceiro comando atribui a variável $P
ao principal da tarefa agendada, Contoso\Administrator
.
O quarto comando usa o cmdlet New-ScheduledTaskSettingsSet
para atribuir a variável $S
a um objeto de configurações de tarefa.
O quinto comando cria uma nova tarefa e atribui a variável $D
à definição da tarefa.
O sexto comando (hipoteticamente) é executado mais tarde. Ele registra a nova tarefa agendada e a define usando a variável $D
.
Não se esqueça de executar o código como Administrator
. Fonte.