任务计划程序正在启动 openwith.exe 程序而不是 PowerShell 脚本

Task Scheduler Launching openwith.exe program instead of PowerShell script

我已经创建了一个 Powershell 脚本,它会自动连接到 Office 365 并将所有用户的默认日历权限设置为审阅者。此脚本 运行 在手动执行时非常完美。

但是

我正在尝试通过 WS-2012-R2 上的任务调度程序启动 powershell 脚本。

我 运行 任务但是当我检查测试用户日历权限时它仍然相同 "contributor"。

当任务调度程序启动任务时,它会创建一个进程,该进程被赋予一个进程 ID。

我去查看任务管理器中的 ID,它在进程选项卡下显示为 "Pick an App"。

我右键单击并单击详细信息,它显示为 OpenWith.exe

我检查了文件关联并且 (.PS1) 关联到 WindowsPowershell

我转到资源管理器中的脚本文件位置,单击并将 OPenWith 从 POwershell 更改为 Windows Powershell ISE,当我 运行 通过任务调度器时,我仍然得到同样的结果。 ("pick and app & OPenWith.exe")

我试过将任务管理器中的 "actions" 编辑为诸如此类的组合。

在任务调度程序属性中

Program/script: 被设置为: C:\Powershell script\default 审阅者权限 这不起作用

然后我将其更改为 C:\Windows\System32\WindowsPowerShell\v1.0\POwershell 以及 PowerShell_ise

在“添加参数(可选)”部分具有 C:\Powershell script\default 审阅者权限。

反之亦然

任何人都可以告诉我我可以做些什么来制作这个脚本运行。

非常感谢

当您从命令行(CMD 而不是 PowerShell 会话)启动 PowerShell 时会发生什么:

powershell -?

因为这应该显示所需的语法?

比如我的显示(去掉多余的帮助信息):

PowerShell [-File ]

具体来说:

-File Execute a script file.

您应该在计划任务中使用类似的东西(注意:也使用引号):

PowerShell -File "D:\WORK\ps\webtest.ps1"

希望对您有所帮助!