有没有办法允许标准用户重新启动(停止/启动)打印后台处理程序?

有没有办法允许标准用户重新启动(停止/启动)打印后台处理程序?

由于某种原因,我们 wifi 网络上的多台笔记本电脑经常无法打印到连接到网络服务器的设备。重新启动每台笔记本电脑上的打印后台处理程序即可解决此问题。但是,重新启动 Windows 打印后台处理程序服务(通过services.msc或 通过net start/stop命令)需要管理权限。

有没有办法允许标准用户重新启动其本地打印后台处理程序服务而无需提升权限或管理权限?例如,通过策略更改?

答案1

我最终使用了方法 3如何授予用户在 Windows 2000 中管理服务的权限

  1. 下载并安装子程序ACL
  2. 跑步"C:\Program Files\Windows Resource Kits\Tools\subinacl" /service Spooler /grant=<username>=TO

SubInACL适用于 Windows 7。

grantT参数是用于start service访问,O参数是stop service访问。

现在<username>可以:

  • 运行sc stop Spoolersc start Spooler
  • 运行net stop "Print Spooler"net start "Print Spooler"
  • 使用物品Restart上的按钮Print Spoolerservices.msc

答案2

尝试:SetACL:Windows ACL 管理 http://sourceforge.net/projects/setacl/

SetACL + GUI = SetACL Studio http://helgeklein.com/setacl-studio/

答案3

一篇旧博客文章有正确的解决方案(查看“允许所有经过身份验证的用户重新启动服务”)。在提升的命令提示符下运行以下命令:

sc sdset Spooler "D:AR(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA) (A;;LCRPWP;;;AU)(A;;CCLCSWLOCRRC;;;IU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY) S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"

将其替换Spooler为用户需要重新启动的任何服务的名称。按原样使用该行的其余部分。我不知道这是什么意思,但它有效。:-)

几秒钟后,您将看到以下响应:

[SC] SetServiceObjectSecurity SUCCESS

现在所有经过身份验证的用户都可以重新启动该服务。

答案4

首先检查并记录现有的默认权限。
在提升的命令提示符下,键入:

sc.exe sdshow spooler

结果:
D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

读取输出的关键:

D: — 自主访问控制列表 (DACL)
S: — 系统访问控制列表 (SACL)

第一个字母表示;允许(A)或拒绝(D)

下一组符号是可分配的权限:

CC — SERVICE_QUERY_CONFIG(请求服务设置)
LC — SERVICE_QUERY_STATUS(服务状态轮询)
SW — SERVICE_ENUMERATE_DEPENDENTS
LO — SERVICE_INTERROGATE
CR — SERVICE_USER_DEFINED_CONTROL
RC — READ_CONTROL
RP — SERVICE_START
WP — SERVICE_STOP
DT — SERVICE_PAUSE_CONTINUE

受托人名单很长,但我们正在寻找包含在第一组括号中的经过身份验证的用户 (AU)。

为经过身份验证的用户(AU)添加 RP、WP 和 DT 权限应该可以解决问题:

(A;;CCLCSWLOCRRC)RPWPDT;;;澳大利亚)

要设置这些权限,再次从提升的命令提示符开始:

sc.exe sdset spooler "D:(A;;CCLCSWLOCRRCRPWPDT;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"

要将权限恢复为默认值,有效地删除经过身份验证的用户启动/停止/暂停/恢复后台处理程序服务的能力:

sc.exe sdset spooler "D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"

华盛顿大学的 IT Connect 功不可没https://itconnect.uw.edu/wares/msinf/other-help/understanding-sddl-syntax/

相关内容