为什么我只能访问服务器打印机上的安全选项卡?

bug*_*net 5 windows-server-2003 permissions windows-7 printing

上下文:Win7 64 位客户端,Windows Server 2003

我使用 MSTSC 登录服务器。服务器运行的是 Windows Server 2003,32 位。

我从开始菜单调出打印机和传真列表。我右键单击服务器上的打印机。我被告知我没有相关权限,我只能访问“安全”选项卡。

该选项卡上的列表表示域管理员拥有完全权限。我在域管理员组中。但是,我似乎没有完全的权利。

打印机是 RICOH Aficio SP 4210N。打印管理说存在 32 位和 64 位驱动程序。

知道为什么权利在那里,但他们的工作却没有吗?

jsc*_*ott 5

您的问题描述听起来像是潜在的 ACL 损坏。为了修复此问题,您需要拥有所有权并更正 ACL。

单击“安全”选项卡中的“高级”按钮。在下一个窗口中,选择“所有者”并选择所需的用户。默认所有者是本地组%COMPUTERNAME%\Administrators,单击“确定”。

这将更正所有权,您仍需要更正 ACL 以授予用户适当的访问权限。

我们在打印服务器上出现蓝屏后遇到了这个问题。由于我们拥有数百个打印机共享,手动更正所有者/ACL 将是……痛苦的。以下批处理文件(对不起,我们的问题早于过时PowerShell!)应该会有所帮助。

将裸打印共享名称的列表转储到文件中printers.txt,然后运行它。您将需要Helge Klien出色的命令行实用程序SetACL

@ECHO OFF
SET PRNSRV=your_print_server_name    

FOR /F %%P in (printers.txt) DO (

    ECHO Processing: %%P

    ECHO Taking ownership
    setacl -on "\\%PRNSRV%\%%P" -ot prn -actn setowner -ownr "n:Administrators"

    ECHO Clear ACL
    setacl -on "\\%PRNSRV%\%%P" -ot prn -actn ace -actn clear -clr "dacl,sacl"

    ECHO Create default ACEs
    setacl -on "\\%PRNSRV%\%%P" -ot prn -actn ace -ace "n:Administrators;p:full"
    setacl -on "\\%PRNSRV%\%%P" -ot prn -actn ace -ace "n:CREATOR OWNER;p:man_docs"
    setacl -on "\\%PRNSRV%\%%P" -ot prn -actn ace -ace "n:Everyone;p:print"
    setacl -on "\\%PRNSRV%\%%P" -ot prn -actn ace -ace "n:Power Users;p:full"

)
Run Code Online (Sandbox Code Playgroud)