我想知道是否可以使用PowerShell修改计划任务,并将安全设置从“无论用户是否登录都运行”更改为“仅在用户登录时运行”。
我必须以自动化的方式在几百台机器上修复一个预定的任务。
我查看了计划任务的配置文件(%systemroot%\System32\Tasks),并将该文件与两个版本的安全设置进行了比较,但没有发现任何差异。
我也看了regedit,但是计划任务的注册表对我来说是不可理解的。
ChatGPT建议我的命令/过程也不起作用。
我想知道是否可以使用PowerShell修改计划任务,并将安全设置从“无论用户是否登录都运行”更改为“仅在用户登录时运行”。
我必须以自动化的方式在几百台机器上修复一个预定的任务。
我查看了计划任务的配置文件(%systemroot%\System32\Tasks),并将该文件与两个版本的安全设置进行了比较,但没有发现任何差异。
我也看了regedit,但是计划任务的注册表对我来说是不可理解的。
ChatGPT建议我的命令/过程也不起作用。
1条答案
按热度按时间huwehgph1#
您可以执行以下操作:
$task = Get-ScheduledTask TaskName
$task.Principal.UserID = $null; $task.Principal.GroupID = "S-1-5-4"
* 感谢kconsiglio在这里添加!task
到Set-ScheduledTask以删除Principal。这将设置任务在当前登录用户的上下文下运行(如果他们已登录):$task | Set-ScheduledTask