Subinacl: Schedule - OpenService Error : 5 Access is denied
Subinacl: Schedule - OpenService Error : 5 Access is denied
我正在尝试为 "Task Scheduler" 的 "NonAdmin" 用户授予一些权限。
如果执行这条命令:
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.
我的环境:
OS: Windows 8.1 企业;
工作组:连接到域(也在未连接到域的 VM 上尝试过 - 同样的访问被拒绝);我是管理员;我 运行 PowerShell 作为管理员。
如何解决此 "Access denied" 问题并为 "Task Scheduler" 的 NonAdmin 用户授予一些权限?
2017 年 11 月 28 日更新:
借助RbMm帮助我给了使用权限,他现在可以创建新的计划任务了。 还有一个问题是他无法 delete/remove 创建任务。
我将所有的大部分赠款都给了用户:
"(A;;GAGRGWGXRCSDCCDCLCSWRPWPDTLOCRSDRCFAFRFWFX;;;<USER_SID>)"
但是我在尝试 delete/remove 计划任务时仍然出现此错误:
The error returned is: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
备注:
- 这是域用户。
- 我试图为该用户授予 %windir%\Tasks 的权限,但没有帮助。
我错过了什么,为什么用户不能删除任务?
您可以使用 sc sdshow schedule
命令查看 schedule
安全描述符。默认情况下它 return 字符串像 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'
因此用户、管理员和 SYSTEM 具有完全访问权限 (F01FF
),如果您需要其他访问权限组合 - 查看 Security Descriptor String Format
我正在尝试为 "Task Scheduler" 的 "NonAdmin" 用户授予一些权限。
如果执行这条命令:
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.
我的环境: OS: Windows 8.1 企业; 工作组:连接到域(也在未连接到域的 VM 上尝试过 - 同样的访问被拒绝);我是管理员;我 运行 PowerShell 作为管理员。
如何解决此 "Access denied" 问题并为 "Task Scheduler" 的 NonAdmin 用户授予一些权限?
2017 年 11 月 28 日更新:
借助RbMm帮助我给了使用权限,他现在可以创建新的计划任务了。 还有一个问题是他无法 delete/remove 创建任务。 我将所有的大部分赠款都给了用户:
"(A;;GAGRGWGXRCSDCCDCLCSWRPWPDTLOCRSDRCFAFRFWFX;;;<USER_SID>)"
但是我在尝试 delete/remove 计划任务时仍然出现此错误:
The error returned is: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
备注:
- 这是域用户。
- 我试图为该用户授予 %windir%\Tasks 的权限,但没有帮助。
我错过了什么,为什么用户不能删除任务?
您可以使用 sc sdshow schedule
命令查看 schedule
安全描述符。默认情况下它 return 字符串像 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'
因此用户、管理员和 SYSTEM 具有完全访问权限 (F01FF
),如果您需要其他访问权限组合 - 查看 Security Descriptor String Format