Limpar área de transferência com tarefa agendada

2

Estou tentando criar uma tarefa agendada do Windows para limpar a área de transferência, mas sem sucesso.

Eu sei como limpar a área de transferência usando o Powershell, e sei como fazer uma tarefa agendada, mas não consegui combinar os dois com sucesso. Qualquer ajuda seria apreciada.

Eu tentei variações do seguinte sem sucesso:

$action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-NoProfile -WindowStyle Hidden -Command "& {echo $null | clip.exe}"'

$trigger =  New-ScheduledTaskTrigger -Daily -At 3pm

$principal = New-ScheduledTaskPrincipal -UserID "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount -RunLevel Highest

Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "ClearClipboard" -Principal $principal
    
por cbp 07.02.2018 / 05:30

1 resposta

2

Sua tarefa está agendada para ser executada com a conta do sistema, mas a área de transferência é por usuário. Você precisa criar uma tarefa agendada que seja executada dentro do contexto do usuário e somente quando o usuário estiver conectado.

Eu criei uma tarefa agendada com o seguinte script e funciona:

$action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-NoProfile -WindowStyle Hidden -Command "& {echo $null | clip.exe}"'

$trigger =  New-ScheduledTaskTrigger -Daily -At 3pm

$principal = New-ScheduledTaskPrincipal -UserID "MyUserName" -LogonType Interactive -RunLevel Limited

Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "ClearClipboard" -Principal $principal
    
por 07.02.2018 / 06:43