Назад | Перейти на главную страницу

Очистить буфер обмена с помощью запланированного задания

Я пытаюсь создать запланированную задачу 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