PowerShellPack - TaskScheduler模块 - 运行没有记录用户的任务

时间:2014-03-03 16:12:04

标签: powershell scheduled-tasks powershell-v2.0 windows-server-2008-r2

我需要在Windows Server 2008上通过Powershell v2安排任务。我正在使用MS PowershellPack中的TaskScheduler模块。

安排任务是可以的,但即使没有人登录,我也需要运行任务。 我在Win8或Win2k12(this QA)的Powershell v3中看到了这一点。但这不是我的情况 - 我需要在Powershell版本2中使用它。

我使用的模块可以实现吗?或者有一些解决方法吗?

1 个答案:

答案 0 :(得分:4)

http://msdn.microsoft.com/en-us/library/windows/desktop/bb736357(v=vs.85).aspx

在V2世界中不可能,但这将完成你需要的一切,并且可以直接从powershell调用

修改

这个问题让我思考,我意识到你的情景与我的情况略有不同,因此应该可能......所以我以前错了。事实证明,Scheduler.service comobject与Powershell 2.0兼容,但也只适用于Task Scheduler 2.0。我认为这不是因为我在xp上,而且Task Scheduler 2.0仅适用于vista及以上版本。

查看MS PowershellPack的源代码,我发现它所做的只是使用Scheduler.service com对象。 https://github.com/sushihangover/SushiHangover-PowerShell/tree/master/modules/TaskScheduler

有关如何为自己操作此com对象的详细教程:https://blogs.technet.microsoft.com/heyscriptingguy/2009/04/01/hey-scripting-guy-how-can-i-best-work-with-task-scheduler/

您问题的答案:How to set schedule.service "Run whether user is logged on or not" in Powershell?

很抱歉误解了......我不会再发生这种情况:D  
无论哪种方式,schtasks.exe都将覆盖所有基础,并且IMO更易于使用,因为它是一个命令,并且在尝试在远程服务器上安排任务时不需要您调用Invoke-Session。