0

我正在尝试为“任务计划程序”的“非管理员”用户授予一些权限。

如果执行此命令:

PS > C:\Windows\System32\sc.exe queryex type= service state=all

可以发现“Task Scheduler”服务名称为“Scheduler”:

SERVICE_NAME: Schedule
DISPLAY_NAME: Task Scheduler

然后我尝试运行简单的命令来显示现有权限:

PS >.\subinacl.exe /Service Schedule /display=dacl

试图授予一些权利:

PS >.\subinacl.exe /Service Schedule /grant=NonAdmin=R

但是这两个命令都抛出访问被拒绝:

Schedule - OpenService Error : 5 Access is denied.


Elapsed Time: 00 00:00:00
Done:        1, Modified        0, Failed        1, Syntax errors        0
Last Done  : Schedule
Last Failed: Schedule - OpenService Error : 5 Access is denied.

我的环境: 操作系统:Windows 8.1 Enterprise;工作组:连接到域(也在未连接到域的 VM 上尝试过 - 相同的访问被拒绝);我是管理员;我以管理员身份运行 PowerShell。

如何解决此“拒绝访问”问题并为“任务计划程序”的非管理员用户授予一些权限?

2017 年 11 月 28 日更新:

RbMm的帮助下,我授予了使用权限,他现在可以创建新的计划任务。剩下的一个问题是他无法删除/删除该创建的任务。 我将所有大多数赠款都授予用户:

"(A;;GAGRGWGXRCSDCCDCLCSWRPWPDTLOCRSDRCFAFRFWFX;;;<USER_SID>)"

但是尝试删除/删除计划任务时仍然出现此错误:

The error returned is: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

笔记:

  • 这是域用户。
  • 我试图为该用户授予%windir%\Tasks的权限,但没有帮助。

我错过了什么,为什么用户不能删除任务?

4

1 回答 1

1

您可以使用sc sdshow schedule命令查看schedule安全描述符。默认情况下它返回这样的字符串D:(A;;CCLCSWLORC;;;AU)(A;;CCLCSWRPDTLOCRRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCLCSWLORC;;;BU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)意味着:

T FL AcessMsK Sid
A 00 0002008D S-1-5-11 'Authenticated Users'
A 00 000E01DD S-1-5-32-544 'Administrators'
A 00 000F01FF S-1-5-18 'SYSTEM'
A 00 0002008D S-1-5-32-545 'Users'

请注意,管理员没有对此服务的完全访问权限,只有E01DD(没有DELETE|SERVICE_STOP|SERVICE_CHANGE_CONFIG

例如,我们可以使用改变sc sdset schedule D:(A;;CCLCSWLORC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BU)

这意味着下一次访问:

T FL AcessMsK Sid
A 00 0002008D S-1-5-11 'Authenticated Users'
A 00 000F01FF S-1-5-32-544 'Administrators'
A 00 000F01FF S-1-5-18 'SYSTEM'
A 00 000F01FF S-1-5-32-545 'Users'

因此用户、管理员和系统拥有完全访问权限 ( F01FF),如果您想要其他访问权限组合 - 查看安全描述符字符串格式

于 2017-11-24T15:19:22.707 回答