相信对于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
,当作为本地管理员帐户
请发布您尝试过的代码,并描述它不符合您的要求和输出结果。你尝试过'-Credential'吗? – lit
“而不必指定凭证”。我没有示例代码,因为我没有看到这是一个选项 - 尽管我确实看到了如何使用计划的任务cmdlet – red888
缺省值是当前用户。你使用Register-ScheduledJob的代码是什么,它产生了什么输出?请使用复制/粘贴。 – lit