Windows 10 PowerShell 脚本无法在设置了登录或注销的任务计划程序触发器的情况下运行

Windows 10 PowerShell 脚本无法在设置了登录或注销的任务计划程序触发器的情况下运行

我正在尝试在 Windows 会话登录或注销时启动一个简单的 PowerShell 脚本......

该脚本在手动启动时可以正常运行,该脚本在特定时间通过计划任务启动时可以正常运行(并且我以管理员身份登录),但它无法在登录或注销时启动运行。

在任务计划程序中我有以下内容:

我的帐户(具有管理员权限)被指定运行脚本

“未连接时运行”按钮处于打开状态

勾选“以最高权限执行”

触发器:“连接到 win 会话时”/任何用户/本地连接/高级参数“激活”框被选中

操作:powershell.exe 参数:-noprofile -executionpolicy Bypass -File .\wlem.ps1 / 从 c:\public 启动

未选中任何条件框

谢谢您的帮助 :-)

答案1

这是一个简单的解决方法:

导航至此处:C:\Users\您的用户名\AppData\Roaming\Microsoft\Windows\开始菜单\程序\启动

放置一个到你的脚本的快捷方式(注意它必须是一个快捷方式)

您可以通过将脚本发送到桌面来创建脚本的快捷方式,然后在桌面上使用该快捷方式。将该快捷方式放在启动文件夹中。

就是这样!这是我之前学到的简单启动技巧。

答案2

我只能通过以下更改来实现它的功能:

  • 以 身份运行任务SYSTEM
  • -File即使您已经设置了起始目录,也要使用开关指定脚本文件的完整路径。

如果您使用的是笔记本电脑,请确保该任务未设置为仅在交流电源上启动。

-WindowStyle Hidden也可以根据需要指定,但这并不是必需的。此外,如果您不希望任务在该日期/时间之前开始触发,则只需选中“激活”并设置日期即可。

正如 Bob 在评论中提到的,您可以考虑使用登录触发器和事件触发器来注销,而不是这些连接和断开连接触发器。您当前使用的触发器将在每次用户切换时触发,而不仅仅是在登录和注销时触发。如果您愿意放弃任务计划程序,您可以切换到组策略登录/注销脚本,这些脚本相当容易管理。

相关内容