首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么使用不同用户通过PowerShell创建的每周任务出现错误0x41306?

为什么使用不同用户通过PowerShell创建的每周任务出现错误0x41306?
EN

Stack Overflow用户
提问于 2013-01-17 12:18:26
回答 5查看 9.7K关注 0票数 10

我们有一些脚本可以使用PowerShell作为应用程序的一部分来创建计划作业。在最近对它们进行测试时,我注意到它们中的一些总是立即失败,并且从未产生任何输出(它们甚至没有出现在Get-Job列表中)。

经过许多天的调整,我们成功地将它与设置为每周运行的任何作业隔离开来。下面是一个脚本,它创建了两个完全相同的作业。当我们在域上运行此操作并提供域用户的凭据时,然后强制这两个作业在(右键单击-> Run)中运行,每天运行的任务运行良好(0x0结果),周任务运行失败(0x41306)。

注意:如果我不提供-Credential参数,这两个工作都可以正常工作。只有当任务是每周一次并以此域用户的身份运行时,作业才会失败。

我找不到为什么会发生这种情况的信息,也不知道为什么每周的工作都会有不同的表现。"Task Scheduler中的History no选项卡几乎没有有用的信息,只有“由于用户请求而停止的任务”和“任务终止”,这两个选项卡都没有有用的信息:

任务调度程序终止了"\Microsoft\Windows\PowerShell\ScheduledJobs\Test1“任务的"{eabba479-f8fc-4f0e-bf5e-053dfbfe9f62}”实例。任务调度程序根据用户"MyDomain\SomeUser“的请求,停止任务"\Microsoft\Windows\PowerShell\ScheduledJobs\Test1”的“{eabba479-f8fc-4f0e-bf5e-053dfbb9f62}”实例。

这怎么回事?为什么每周的任务会有不同的运行方式,我该如何解决这个问题呢?

这里是Windows 2008 PowerShell v3 R2。我一直无法在本地复制这个,但我没有一个用户设置的方式与我们的生产领域(我正在做这个,但我想尽快发布,希望有人知道发生了什么!)

代码语言:javascript
运行
复制
Import-Module PSScheduledJob

$Action =
{
    "Executing job!"
}

$cred = Get-Credential "MyDomain\SomeUser"

# Remove previous versions (to allow re-running this script)
Get-ScheduledJob Test1 | Unregister-ScheduledJob
Get-ScheduledJob Test2 | Unregister-ScheduledJob

# Create two identical jobs, with different triggers
Register-ScheduledJob "Test1" -ScriptBlock $Action -Credential $cred -Trigger (New-JobTrigger -Weekly -At 1:25am -DaysOfWeek Sunday)
Register-ScheduledJob "Test2" -ScriptBlock $Action -Credential $cred -Trigger (New-JobTrigger -Daily -At 1:25am)

编辑:按snover:的建议添加到连接中

https://connect.microsoft.com/PowerShell/feedback/details/776801/weekly-tasks-created-via-powershell-using-a-different-user-immediately-fail-with-error-0x41306

编辑:杰夫希克斯的一些附加信息

我使用您的代码在运行PS v3的2008年R2框上创建了相同的作业。这两个作业都在PowerShell上运行良好,使用Start-Job。但是在GUI中,对于每周的工作,我得到了同样的错误。 我在Windows 8上得到了同样的结果。有东西告诉任务服务中止。我测试了一些其他设置,但没有效果。我查看了我能想到的所有日志,它们显示的只是作业启动、PowerShell加载和任务调度程序取消。 我把今天的每周任务重置为今天,结果还是失败了。我还测试了一项每周做PowerShell以外的事情的任务,它运行得很好。 我将每周的作业更改为使用与当前用户相同的帐户,它运行得很好。把它改回另一个帐户,它又失败了。我不知道触发器和账户之间的关系。

EN

回答 5

Stack Overflow用户

发布于 2016-05-28 20:27:45

在创建计划任务时,我也遇到了类似的问题,但我不记得它是否基于日计划。我发现切换到gMSA帐户来运行我们预定的任务?它允许我们将任务设置为运行该用户是否已登录。否则,您必须提供用户名和密码,并且不能选择用户登录或不登录。

票数 1
EN

Stack Overflow用户

发布于 2016-10-20 13:40:41

我终于找到了解决这种行为的办法。我计划每周日执行一项任务来运行powershell脚本。剧本本身运行良好。然后我尝试在任务调度程序中手动启动它。这以错误41306结束。在阅读了您的评论后,我改变了计划,不再在下一个星期天运行,而是在最后一个星期天开始运行(因此,开始日期已经过去了)。在那之后,我可以立即启动它,没有任何问题。

票数 1
EN

Stack Overflow用户

发布于 2013-01-17 18:52:32

默认的职务选项可能会提供线索。有许多默认值可以阻止作业运行。其中一些可能是特定于您的环境。更多信息在这里:http://technet.microsoft.com/en-us/library/hh849674.aspx

如果不是这个,请告诉我。我想遵循这个主题,并将这个场景放到故障排除指南中。

谢谢你,六月·布兰德(琼·布兰德),微软高级编程作家

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14378951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档