Windows 2008 R2 TS 打印机安全性 - 无法获得所有权

Ian*_*phy 6 security printing windows-terminal-services windows-server-2008-r2

我有一台安装了终端服务器角色的 Windows 2008 R2 服务器。我发现作为服务器本地打印机操作员组成员的普通用户出现问题。

如果用户使用“以管理员身份运行”打开 cmd 窗口,他们可以运行 printmanager.msc 而无需再次输入密码。在 printmanager 中,他们可以毫无问题地更改重定向(轻松打印)打印机的所有权。

如果在同一个 cmd 窗口中,他们使用 subinacl 尝试将队列的权限更改为自己,则访问被拒绝:

>subinacl.exe /printer "_#MyPrinter (2 redirected)" /setowner="MyDom\MyUsr"
Elapsed Time: 00 00:00:00
Done:        1, Modified        0, Failed        1, Syntax errors        0
Last Done  : _#MyPrinter (2 redirected)
Last Failed: _#MyPrinter (2 redirected) - OpenPrinter Error : 5 Access denied
Run Code Online (Sandbox Code Playgroud)

所以,同样的上下文,同样的动作,但一个有效,一个无效。对这种奇怪的行为有什么想法吗?

我在 x64 服务器上使用 subinacl x86,因为我找不到任何最新的东西。我试过 icacls 和其他人,但无法让他们对打印机做任何事情。

编辑:在 Gregs 对下面的 setacl 发表评论后添加

如果我以 Testusr 身份登录到 TS 服务器并打开 Admin Tools > Printer Admin(以管理员身份),然后输入 mydomain\testusr 和 testusr 的密码,那么我可以更改打印机队列的所有权并将 testusr 设置为所有者。

但是,如果我以管理员身份打开 cmd 并在尝试更改重定向打印机的所有权时再次键入 mydomain\testusr 和用户密码,则会得到以下信息:

C:\>setacl -on "Bullzip PDF Printer (12 redireccionado)" -ot prn -actn setowner -ownr n:mydom\testusr

WARNING: Privilege 'Back up files and directories' could not be enabled. SetACL's powers are restricted.
WARNING: Privilege 'Restore files and directories' could not be enabled. SetACL's powers are restricted.
INFORMATION: Processing ACL of: <Bullzip PDF Printer (12 redireccionado)>
ERROR: Enabling the privilege SeTakeOwnershipPrivilege failed with: No todos los privilegios o grupos a los que se hace referencia son asignados al llamador.
 [meaning not all referenced privs or groups are assigned to the caller]

SetACL finished with error(s):
SetACL error message: A privilege could not be enabled
Run Code Online (Sandbox Code Playgroud)

也许我遇到了一些问题,但是如果内置的 Windows 工具可以通过“打印操作员”组的成员身份来完成,那么 setacl 也应该可以,不是吗?

但是 setacl 似乎依赖于其他特权,实际上不需要这样做。

Tur*_*die 0

也许您可以使用 setprinter 工具(setprinter -examples 3)设置安全性。SetPrinter 适用于 2003,但也适用于 2008 R2。