使用PowerShell更新计划任务

mrfwxfqh  于 2023-04-21  发布在  Shell
关注(0)|答案(1)|浏览(179)

我想知道是否可以使用PowerShell修改计划任务,并将安全设置从“无论用户是否登录都运行”更改为“仅在用户登录时运行”。
我必须以自动化的方式在几百台机器上修复一个预定的任务。
我查看了计划任务的配置文件(%systemroot%\System32\Tasks),并将该文件与两个版本的安全设置进行了比较,但没有发现任何差异。
我也看了regedit,但是计划任务的注册表对我来说是不可理解的。
ChatGPT建议我的命令/过程也不起作用。

huwehgph

huwehgph1#

您可以执行以下操作:

  • 使用Get-ScheduledTask并将其存储在变量中以存储任务的定义:$task = Get-ScheduledTask TaskName
  • 将该输出的Principal值设置为interactive users组:$task.Principal.UserID = $null; $task.Principal.GroupID = "S-1-5-4" * 感谢kconsiglio在这里添加!
  • 通过管道task到Set-ScheduledTask以删除Principal。这将设置任务在当前登录用户的上下文下运行(如果他们已登录):$task | Set-ScheduledTask

相关问题