根据主题。
我发现了一些使用WMI在Windows打印服务器上创build打印机脚本的方法,但看起来WMI不支持集群打印服务器(或者集群服务器)。
C:\Windows\System32\Printing_Admin_Scripts中的脚本是无用的,因为它们不支持群集,并最终在活动群集节点上创build打印机(就像使用WMI一样)。
我发现能够在群集打印服务器上工作的唯一工具是printui.exe ( rundll32 printui.dll, PrintUIEntry快捷方式),但是它不能创buildTCP打印端口:如果端口已经存在,它只能添加打印机。
如何在群集的Windows Server 2008 R2打印服务器上完全脚本化打印机创build( 包括TCP打印端口! )?
我不知道这是否会在集群环境中工作,但有一个很好的旧的printbrm.exe工具。 它创build了本质上是一个充满XML的cab文件,可以在服务器之间备份和恢复打印机设置。 这包括可怕的TCP / IP端口。 这可以让你做一个简单的备份,修改XML来添加你所需要的,并让你对你的集群进行恢复。 (再次,不知道这是否是群集感知)。
Printbrm示例: http : //technet.microsoft.com/en-us/library/cc722360.aspx
将文件重命名为.cab并解压缩到磁盘…
端口文件是brmports.xml。 我build议出口一两台打印机,看看它是如何“应该”看看。
printbrn.exe 能够导出所有的打印机configuration,包括驱动程序和端口,并将其导入另一台服务器。
首先创build端口的唯一方法是使用VBS,然后在事实之后使用printui:
Set objWMIService = GetObject("winmgmts:") Set objNewPort = objWMIService.Get _ ("Win32_TCPIPPrinterPort").SpawnInstance_ objRAWPort.Name = "IP_192.168.1.2" objRAWPort.Protocol = 1 objRAWPort.HostAddress = "192.168.1.2" objRAWPort.PortNumber = "9100" objRAWPort.Put_ Set objWMIService2 = GetObject("winmgmts:") Set objNewPort2 = objWMIService2.Get _ ("Win32_TCPIPPrinterPort").SpawnInstance_ objLPRPort.Name = "IP_192.168.1.3" objLPRPort.Protocol = 2 objLPRPort.HostAddress = "192.168.1.3" objLPRPort.Queue = "MyQueue" objLPRPort.ByteCount = True objLPRPort.Put_ cmd = "rundll32 printui.dll,PrintUIEntry /if /b "PRINTER NAME" /f %windir%\inf\ntprint.inf /r "IP_192.168.1.2" /m "HP Color LaserJet 4550 PS" /Z objCommandShell.Run cmd,,True
可能有一些错误,但它的总体思路。
你见过这个GPO设置吗?
Computer Configuration > Preferences > Control Panel Settings > Printers 。 然后右键点击进入New > TCP/IP Printer
不熟悉集群打印服务器,但是这应该适用于TCP / IP打印映射。