Я пытаюсь создать запланированную задачу Windows для очистки буфера обмена, но безуспешно.
Я знаю, как очистить буфер обмена с помощью Powershell, и я знаю, как создать запланированную задачу, но мне не удалось успешно объединить их. Любая помощь будет оценена.
Я безуспешно пробовал следующие варианты:
$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
Ваша задача запланирована для запуска с учетной записью System, но буфер обмена предназначен для каждого пользователя. Вам необходимо создать запланированную задачу, которая будет выполняться в контексте пользователя и только тогда, когда пользователь вошел в систему.
Я создал запланированную задачу со следующим скриптом, и он работает:
$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