任务计划程序(TS)不以用户身份保存运行任务的域信息。
重复步骤:
在“常规” – >“安全选项”中,将显示与“旁边的更改用户或组”button相同的用户。
TS允许我将用户更改为域用户,并在字段中显示“DOMAIN \ USER”。
按确定提示我input“DOMAIN \ USER”的密码。
再次打开TS任务将显示“域\用户”的域部分已从“运行方式”字段中除去。
当该任务运行时,它不作为“DOMAIN \ USER”运行。
预期的行为
TS 应该像运行Server 2012r2一样以用户身份运行任务。
OS细节
操作系统是Windows Server 2016的标准构build| 版本10.0.14393生成14393和服务器是域的一部分。
编辑 :在Windows 10中,它看起来像做了同样的事情,但用户确实最终正确运行。 在导出的任务XML中,看起来像这样: <UserId>DOMAIN\USER < /UserId> but now it looks like this: [带有很多超验的数字 – 以字母开头] < / UserId>
编辑2 :它看起来像什么存储在XML设置是Windows SID(安全标识符)。
原来这是一个额外的特权,在新的框需要被禁用,然后任务计划运行良好。 “SeDelegateSessionUserImpersonatePrivilege”是罪魁祸首。
是什么让我相信这是任务调度程序是,任务调度程序已经改变了如何将用户保存在Xml中,它用来保存为“DOMAIN \ USER”,但现在它将其保存为SID(安全ID)不会在任务计划程序的“RUN AS”部分中显示域部分。
当我运行whoami /all我看到一个特权是在新的盒子上,而不是旧的盒子。
该特权是: SeDelegateSessionUserImpersonatePrivilege =禁用
删除此权限可解决此问题。
因此,在Windows Server 2016 std build 14393启用或删除权限SeDelegateSessionUserImpersonatePrivilege修复了Task Task未作为Task Scheduler中存储的用户运行的问题。
编辑 :Windows Server 2016任务计划程序运行正确的任务设置正确的第一次没有编辑,并有checkbox“运行与最高权限”未经检查,并在未来开始。 因此,如果您需要修改计划任务,则应该创build一个全新的任务,然后删除旧任务,而不是编辑现有任务。