环境:Win7 64位客户端,Windows Server 2003
我使用 MSTSC 登录服务器。该服务器运行的是 Windows Server 2003,32 位。
我从“开始”菜单调出打印机和传真机列表。我右键单击服务器上的打印机。我被告知我没有相关权限,只能访问“安全”选项卡。
该选项卡上的列表显示域管理员拥有全部权限。我属于域管理员组。但是,我似乎没有全部权限。
打印机是 RICOH Aficio SP 4210N。打印管理显示有 32 位和 64 位驱动程序。
知道为什么有权利,但结果却没有吗?
答案1
您的问题描述听起来像是潜在的 ACL 损坏。为了修复此问题,您需要取得所有权并更正 ACL。
点击“安全”选项卡中的“高级”按钮。在下一个窗口中,选择“所有者”,然后选择所需的用户。默认所有者是本地组%COMPUTERNAME%\Administrators
,点击“确定”。
这将纠正所有权,您仍然需要纠正 ACL 以授予用户适当的访问权限。
我们的打印服务器出现 BSOD 后,出现了这个问题。由于我们有数百台打印机共享,因此手动更正所有者/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"
)
答案2
检查本地Administrators
组是否仍包含Domain Admins
。如果不包含,请以本地管理员身份登录并重新添加该组。
答案3
打印机的安全性已更改,您当前的帐户无法读取该对象。请尝试使用其他帐户,或将所有权更改为管理员,然后按所需方式设置安全性。