我正在开发一个运行 Windows Server 2008 R2 的新打印服务器。共享打印机将在 Active Directory 中列出。打印服务器有一个名称为一个主机记录,但我希望用户使用不同的名称进行连接,通过 DNS 服务器上的 cname 记录进行设置。
问题是这些共享打印机使用主机 A 记录在 Active Directory 中列出。我可以选择通过共享添加打印机\\cname\printername
,但如果我在 Active Directory 中找到打印机,它将通过连接到用户计算机上的打印机\\hostname\printername
,并且这种差异对最终用户来说是显而易见的。我希望使用 cname 记录列出打印机,这样当用户连接到打印机时,他们看到的只是 cname。
这可能吗?
答案1
我正在寻找同一问题的解决方案并发现“uNC名称“AD 中 printqueue 对象的属性只需从\\服务器名称.域.com\打印机名称到\\别名.domain.com\打印机名称。可在此处获取实现此目的的脚本:http://jthiede.wordpress.com/2012/08/20/list-a-printer-in-active-directory-using-a-cname/. 脚本使用 Quest Active Roles (http://www.quest.com/powershell/activeroles-server.aspx),因此无论您运行脚本在哪里都需要安装它。基本语法如下:
设置 QADobject SERVER-printer -objectattributes @{servername=”alias.domain.com”;shortservername=”alias”;uNCName=”\\alias.domain.com\printer”}
希望这可以帮助!
-杰森
答案2
您需要将 SPN 注册到活动目录中。
setspn.exe –a host/CNAME computerobject
参考:http://daddyr.blogspot.com/2010/12/cname-on-windows-2008-r2-server-print.html
答案3
使用 ADSI 编辑。
Browse to the server object.
CN=Servername,CN=Computers,DC=Domain
找到您要更改的打印机并打开属性。
CN=Servername Printername
在属性编辑器中,向下滚动到“serverName”,将值修改为您想要的值。