2016-11-12 62 views
2

相信对于Register-ScheduledTask可以指定-User "System"或做类似:注册-ScheduledJob为系统帐户(无需凭证传递)

$principal = New-ScheduledTaskPrincipal -UserId SYSTEM -LogonType ServiceAccount -RunLevel Highest 

如何做到这一点与Register-ScheduledJob

该命令将运行本地管理员的上下文,因此它将有权访问以执行此操作。我只是在cmdlet中看不到此选项。

Here is an example of how to do this with the scheduled tasks cmdlet

编辑:请问窗户设计使这不可能的?如果我打开一个交互式PS会话系统(使用PSEXEC),并尝试创建一个schedualed工作,我得到一个错误:

PS C:\Windows\system32> Register-ScheduledJob -Name systemsssss -ScriptBlock {'s 
dfsdfsdfsd'} 
Register-ScheduledJob : An error occurred while registering scheduled job 
definition systemsssss to the Windows Task Scheduler. The Task Scheduler 
error is: (32,4):UserId:. 
At line:1 char:1 
+ Register-ScheduledJob -Name systemsssss -ScriptBlock {'sdfsdfsdfsd'} 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidOperation: (Microsoft.Power...edJobDefini 
    tion:ScheduledJobDefinition) [Register-ScheduledJob], ScheduledJobExceptio 
    n 
    + FullyQualifiedErrorId : CantRegisterScheduledJobDefinition,Microsoft.Pow 
    erShell.ScheduledJob.RegisterScheduledJobCommand 

,当作为本地管理员帐户

+0

请发布您尝试过的代码,并描述它不符合您的要求和输出结果。你尝试过'-Credential'吗? – lit

+0

“而不必指定凭证”。我没有示例代码,因为我没有看到这是一个选项 - 尽管我确实看到了如何使用计划的任务cmdlet – red888

+0

缺省值是当前用户。你使用Register-ScheduledJob的代码是什么,它产生了什么输出?请使用复制/粘贴。 – lit

回答

0

对不起执行与此相同的命令工作正常,不能使声望低于50的评论。

您可以使用组策略将其作为启动脚本运行吗?这将作为本地系统帐户运行。看起来不像这个cmdlet具有“runas”的动词参数。

看着:https://technet.microsoft.com/en-us/library/hh849755.aspx下-ScheduledJobOption有一个设置在那里RunElevated = $ False,这是defualt。如果您将其设置为true,它是否以管理员身份运行?

我还没试过,它可能工作。

希望这会有所帮助。

谢谢,Tim。